[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector
:
@selector
(
textFiledEditChanged
:)
name : @"UITextFieldTextDidChangeNotification"
name : @"UITextFieldTextDidChangeNotification"
object:self.nameField];
/**
* 限制名字输入字符的个数
*
* @param obj <#obj description#>
*/
-( void )textFiledEditChanged:( NSNotification *) obj {
UITextField * textField = ( UITextField *) obj . object ;
NSString * toBeString = textField . text ;
NSString * lang = [[ UITextInputMode currentInputMode ] primaryLanguage ]; // 键盘输入模式
if ([ lang isEqualToString : @"zh-Hans" ]) { // 简体中文输入,包括简体拼音,健体五笔,简体手写
UITextRange * selectedRange = [ textField markedTextRange ];
// 获取高亮部分
UITextPosition * position = [ textField positionFromPosition : selectedRange . start offset :0];
// 没有高亮选择的字,则对已输入的文字进行字数统计和限制
if (! position ) {
if ( toBeString . length > 8) {
textField . text = [ toBeString substringToIndex :8];
}
}
// 有高亮选择的字符串,则暂不对文字进行统计和限制
else {
}
}
// 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
else {
if ( toBeString . length > 8) {
textField . text = [ toBeString substringToIndex :8];
}
}
* 限制名字输入字符的个数
*
* @param obj <#obj description#>
*/
-( void )textFiledEditChanged:( NSNotification *) obj {
UITextField * textField = ( UITextField *) obj . object ;
NSString * toBeString = textField . text ;
NSString * lang = [[ UITextInputMode currentInputMode ] primaryLanguage ]; // 键盘输入模式
if ([ lang isEqualToString : @"zh-Hans" ]) { // 简体中文输入,包括简体拼音,健体五笔,简体手写
UITextRange * selectedRange = [ textField markedTextRange ];
// 获取高亮部分
UITextPosition * position = [ textField positionFromPosition : selectedRange . start offset :0];
// 没有高亮选择的字,则对已输入的文字进行字数统计和限制
if (! position ) {
if ( toBeString . length > 8) {
textField . text = [ toBeString substringToIndex :8];
}
}
// 有高亮选择的字符串,则暂不对文字进行统计和限制
else {
}
}
// 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
else {
if ( toBeString . length > 8) {
textField . text = [ toBeString substringToIndex :8];
}
}
}