解決了iOS7上position對象總是不為nil造成判斷不準的問題
- (void)nikeNameTFDidChange {
NSString *toBeString = self.nickName.text;
// 當(dāng)前輸入法 - 這個判斷可以去掉其實
NSString *inputLanguage = [[self.nickName textInputMode] primaryLanguage];
if([inputLanguage isEqualToString:@"zh-Hans"]){ //簡體中文輸入奕筐,包括簡體拼音,健體五筆屁擅,簡體手寫
//獲取高亮部分
UITextRange *selectedRange = [self.nickName markedTextRange];
UITextPosition *position = [self.nickName positionFromPosition:selectedRange.start offset:0];
// 沒有高亮選擇的字插佛,則對已輸入的文字進行字數(shù)統(tǒng)計和限制
// DL修改 添加判斷條件 || !selectedRange
if (!position || !selectedRange){
//非高亮
[self processNickNameText:toBeString];
}
}else{
//中文輸入法以外
[self processNickNameText:toBeString];
}
}
- (void)processNickNameText:(NSString *)toBeString {
if (toBeString.length > 11) {
self.nickName.text = [toBeString substringToIndex:11];
[MBProgressHUD showMessage:@"您最多只能輸入11個字" toView:self.view hudConfig:nil];
}else if (toBeString.length == 11 && [self.nickName.text isEqualToString:_loginname]) {
self.nickName.text = [self.nickName.text stringByReplacingCharactersInRange:NSMakeRange(3, 4) withString:@"****"];
[MBProgressHUD showMessage:@"您的昵稱為手機號,將加密展示~" toView:self.view hudConfig:nil];
}
}