Commit 6a44f9426c9b732e570517f1f58545482b111b23
1 parent
9d8b3365
no message
Showing
2 changed files
with
22 additions
and
19 deletions
CNLiveMineModule/Classes/UserInfo/CNLiveInfoUpdateController.m
| ... | ... | @@ -97,29 +97,33 @@ static const CGFloat timeValue = 1.5; |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | 99 | #pragma mark - UITextFieldDelegate |
| 100 | -- (void)textFieldDidChange:(UITextField *)textField { | |
| 100 | +- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { | |
| 101 | 101 | self.navigationBar.right.userInteractionEnabled = YES; |
| 102 | 102 | self.navigationBar.right.backgroundColor = [UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0]; |
| 103 | - | |
| 104 | - NSString *toBeString = textField.text; | |
| 105 | - | |
| 106 | - UITextRange *selectedRange = [textField markedTextRange]; | |
| 107 | - UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0]; | |
| 108 | - | |
| 109 | - // 没有高亮选择的字,则对已输入的文字进行字数统计和限制,防止中文被截断 | |
| 110 | - if (!position){ | |
| 111 | - NSInteger maxLength; | |
| 112 | - maxLength = (self.model.dataType == CNLiveUserInfoDataTypeNickname) ? _nickMaxLength : _locMaxLength; | |
| 113 | - if (toBeString.length > maxLength){ | |
| 114 | - //中文和emoj表情存在问题,需要对此进行处理 | |
| 115 | - NSRange rangeRange = [toBeString rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, maxLength)]; | |
| 116 | - textField.text = [toBeString substringWithRange:rangeRange]; | |
| 117 | - } | |
| 103 | + NSInteger maxLength = (self.model.dataType == CNLiveUserInfoDataTypeNickname) ? _nickMaxLength : _locMaxLength; | |
| 104 | + if (range.location >= maxLength) { | |
| 105 | + textField.text = [textField.text substringToIndex:maxLength]; | |
| 106 | + return NO; | |
| 118 | 107 | } |
| 108 | + return YES; | |
| 119 | 109 | } |
| 120 | 110 | |
| 121 | -#pragma mark - UITextFieldDelegate | |
| 122 | 111 | - (BOOL)textFieldShouldReturn:(UITextField *)textField { |
| 112 | + switch (self.model.dataType) { | |
| 113 | + case CNLiveUserInfoDataTypeNickname: | |
| 114 | + { | |
| 115 | + [self requestUpdateUserNickname]; | |
| 116 | + } | |
| 117 | + break; | |
| 118 | + case CNLiveUserInfoDataTypeAddress: | |
| 119 | + { | |
| 120 | + [self requestUpdateUserAddress]; | |
| 121 | + } | |
| 122 | + break; | |
| 123 | + | |
| 124 | + default: | |
| 125 | + break; | |
| 126 | + } | |
| 123 | 127 | return YES; |
| 124 | 128 | } |
| 125 | 129 | |
| ... | ... | @@ -743,7 +747,6 @@ static const CGFloat timeValue = 1.5; |
| 743 | 747 | _textField.leftViewMode = UITextFieldViewModeAlways; |
| 744 | 748 | _textField.returnKeyType = UIReturnKeyDone; |
| 745 | 749 | _textField.delegate = self; |
| 746 | - [_textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; | |
| 747 | 750 | } |
| 748 | 751 | return _textField; |
| 749 | 752 | } | ... | ... |
CNLiveMineModule/Classes/UserInfo/CNLiveUserInfoController.m
| ... | ... | @@ -76,7 +76,7 @@ |
| 76 | 76 | @"layout":@"1", |
| 77 | 77 | @"data":@"5", |
| 78 | 78 | @"title":@"个性签名", |
| 79 | - @"info":CNUserShareModel.signature?CNUserShareModel.signature:@"懒到没签名!", | |
| 79 | + @"info":CNUserShareModel.signature?CNUserShareModel.signature:@"懒到没签名", | |
| 80 | 80 | @"height":@"51", |
| 81 | 81 | @"lineHeight":@"0.5" |
| 82 | 82 | } | ... | ... |