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,29 +97,33 @@ static const CGFloat timeValue = 1.5; | ||
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | #pragma mark - UITextFieldDelegate | 99 | #pragma mark - UITextFieldDelegate |
| 100 | -- (void)textFieldDidChange:(UITextField *)textField { | 100 | +- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { |
| 101 | self.navigationBar.right.userInteractionEnabled = YES; | 101 | self.navigationBar.right.userInteractionEnabled = YES; |
| 102 | self.navigationBar.right.backgroundColor = [UIColor colorWithRed:35/255.0 green:212/255.0 blue:30/255.0 alpha:1.0]; | 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 | - (BOOL)textFieldShouldReturn:(UITextField *)textField { | 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 | return YES; | 127 | return YES; |
| 124 | } | 128 | } |
| 125 | 129 | ||
| @@ -743,7 +747,6 @@ static const CGFloat timeValue = 1.5; | @@ -743,7 +747,6 @@ static const CGFloat timeValue = 1.5; | ||
| 743 | _textField.leftViewMode = UITextFieldViewModeAlways; | 747 | _textField.leftViewMode = UITextFieldViewModeAlways; |
| 744 | _textField.returnKeyType = UIReturnKeyDone; | 748 | _textField.returnKeyType = UIReturnKeyDone; |
| 745 | _textField.delegate = self; | 749 | _textField.delegate = self; |
| 746 | - [_textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; | ||
| 747 | } | 750 | } |
| 748 | return _textField; | 751 | return _textField; |
| 749 | } | 752 | } |
CNLiveMineModule/Classes/UserInfo/CNLiveUserInfoController.m
| @@ -76,7 +76,7 @@ | @@ -76,7 +76,7 @@ | ||
| 76 | @"layout":@"1", | 76 | @"layout":@"1", |
| 77 | @"data":@"5", | 77 | @"data":@"5", |
| 78 | @"title":@"个性签名", | 78 | @"title":@"个性签名", |
| 79 | - @"info":CNUserShareModel.signature?CNUserShareModel.signature:@"懒到没签名!", | 79 | + @"info":CNUserShareModel.signature?CNUserShareModel.signature:@"懒到没签名", |
| 80 | @"height":@"51", | 80 | @"height":@"51", |
| 81 | @"lineHeight":@"0.5" | 81 | @"lineHeight":@"0.5" |
| 82 | } | 82 | } |