123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- //
- // YMImproveInfoMaleNicknameView.m
- // MSYOUPAI
- //
- // Created by YoMi on 2024/2/8.
- // Copyright © 2024 MS. All rights reserved.
- //
- #import "YMImproveInfoMaleNicknameView.h"
- #import "YMImproveInfoViewModel.h"
- @interface YMImproveInfoMaleNicknameView ()
- /// 完善信息VM
- @property (nonatomic, strong) YMImproveInfoViewModel *viewModel;
- @property (nonatomic, strong) UIView *baseView;
- /// 昵称标题标签
- @property (nonatomic, strong) UILabel *nicknameTitleLb;
- /// 昵称输入框
- @property (nonatomic, strong) UITextField *nicknameContentInputBox;
- /// 昵称刷新按钮
- @property (nonatomic, strong) UIButton *nicknameRefreshBtn;
- @end
- @implementation YMImproveInfoMaleNicknameView
- - (void)ym_setupViews{
- [self addSubview:self.nicknameTitleLb];
- [self addSubview:self.baseView];
- [self.baseView addSubview:self.nicknameContentInputBox];
- [self.baseView addSubview:self.nicknameRefreshBtn];
-
- [self setNeedsUpdateConstraints];
- [self updateConstraintsIfNeeded];
- }
- - (void)updateConstraints{
-
- [self.nicknameTitleLb mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self);
- make.left.equalTo(self);
- make.height.mas_equalTo(adapt(22));
- }];
- [self.baseView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.equalTo(self.nicknameTitleLb.mas_bottom).offset(adapt(5));
- make.left.equalTo(self);
- make.right.equalTo(self);
- make.height.mas_equalTo(adapt(48));
- }];
-
- [self.nicknameContentInputBox mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(self.baseView);
- make.left.equalTo(self.baseView).offset(adapt(16));
- make.width.mas_equalTo(adapt(200));
- }];
-
- [self.nicknameRefreshBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(self.baseView);
- make.right.equalTo(self.baseView).offset(adapt(-16));
- make.width.mas_equalTo(adapt(80));
- make.height.mas_equalTo(adapt(25));
- }];
- [super updateConstraints];
- }
- - (void)ym_bindViewModel:(YMImproveInfoViewModel *)viewModel{
- if (!viewModel) {
- return;
- }
-
- _viewModel = viewModel;
-
- RAC(self.nicknameContentInputBox, text) = RACObserve(self.viewModel, improveInfoMaleNickname);
-
- }
- - (UILabel *)nicknameTitleLb{
- if (!_nicknameTitleLb) {
- _nicknameTitleLb = [[UILabel alloc]init];
- _nicknameTitleLb.font = LCFont(13);
- _nicknameTitleLb.textColor = HexColorFromRGBA(0x333333,1);
- _nicknameTitleLb.textAlignment = NSTextAlignmentLeft;
- _nicknameTitleLb.text = @"昵称";
- }
- return _nicknameTitleLb;
- }
- - (UIView *)baseView{
- if (!_baseView) {
- _baseView = [[UIView alloc]init];
- _baseView.backgroundColor = HexColorFromRGBA(0xF2F5FF,1);
- _baseView.layer.borderColor = HexColorFromRGBA(0xF2F5FF,1).CGColor;
- _baseView.layer.borderWidth = 2;
- _baseView.layer.cornerRadius = adapt(24);
- _baseView.layer.masksToBounds = true;
- }
- return _baseView;
- }
- - (UITextField *)nicknameContentInputBox{
- if (!_nicknameContentInputBox) {
- NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];
- style.minimumLineHeight = 0;
- NSMutableAttributedString *placeholderAttributed = [[NSMutableAttributedString alloc]initWithString:@"取一个独特的昵称吧"];
- placeholderAttributed.yy_paragraphStyle = style;
- placeholderAttributed.yy_font = LCFont(13);
- placeholderAttributed.yy_color = HexColorFromRGB(0x545D79);
- placeholderAttributed.yy_alignment = NSTextAlignmentLeft;
- _nicknameContentInputBox = [[UITextField alloc]init];
- _nicknameContentInputBox.textColor = HexColorFromRGB(0x333333);
- _nicknameContentInputBox.textAlignment = NSTextAlignmentLeft;
- _nicknameContentInputBox.attributedPlaceholder = placeholderAttributed;
- _nicknameContentInputBox.clearButtonMode = UITextFieldViewModeWhileEditing;
- _nicknameContentInputBox.autocorrectionType = UITextAutocorrectionTypeDefault;
- _nicknameContentInputBox.autocapitalizationType = UITextAutocapitalizationTypeNone;
- _nicknameContentInputBox.keyboardType = UIKeyboardTypeDefault;
- WS(weakSelf)
- [[[_nicknameContentInputBox rac_textSignal] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id value) {
- weakSelf.viewModel.improveInfoMaleNickname = value;
- }];
- }
- return _nicknameContentInputBox;
- }
- - (UIButton *)nicknameRefreshBtn{
- if (!_nicknameRefreshBtn) {
- _nicknameRefreshBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- [_nicknameRefreshBtn setImage:ImageByName(@"ym_improve_info_nickname_random_icon") forState:UIControlStateNormal];
- [_nicknameRefreshBtn setTitle:@" 随机" forState:UIControlStateNormal];
- [_nicknameRefreshBtn setTitleColor:HexColorFromRGB(0x545D79) forState:UIControlStateNormal];
- _nicknameRefreshBtn.titleLabel.font = LCFont(13);
- _nicknameRefreshBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
- // [_nicknameRefreshBtn setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];
- CGFloat margin = 5;
- _nicknameRefreshBtn.titleEdgeInsets = UIEdgeInsetsMake(0, margin, 0, -margin);
- _nicknameRefreshBtn.imageEdgeInsets = UIEdgeInsetsMake(0, margin, 0, -margin);
- WS(weakSelf)
- [[[_nicknameRefreshBtn rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(__kindof UIButton * _Nullable sender) {
- [weakSelf.viewModel randomNickname];
- }];
- }
- return _nicknameRefreshBtn;
- }
- @end
|