UITextField限制輸入字數高亮狀態下輸入框內真實類容與textFiled(解決中文輸入問題)

很少說,坑爹的玩意,直接上代碼:spa

static const NSInteger kMaxLength = 10;get


1.[_textField addTarget:self action:@selector(textFieldChange) forControlEvents:UIControlEventEditingChanged];string

2.it

//限定主題字數 10io

- (void)textFieldChange{ast

    NSString *toBeString = self.textField.text;select

    NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage];im

    if([lang isEqualToString:@"zh-Hans"]){ //簡體中文輸入,包括簡體拼音,健體五筆,簡體手寫static

        UITextRange *selectedRange = [self.textField markedTextRange];top

        UITextPosition *position = [self.textField positionFromPosition:selectedRange.start offset:0];

        

        if (!position){//非高亮

            if (toBeString.length > kMaxLength) {

                [self.view makeToast:@"您最多能夠輸入10個字" duration:1 position:@"top"];

                self.textField.text = [toBeString substringToIndex:kMaxLength];

            }

        }

    }else{//中文輸入法之外

        if (toBeString.length > kMaxLength) {

            [self.view makeToast:@"您最多能夠輸入10個字" duration:1 position:@"top"];

            self.textField.text = [toBeString substringToIndex:kMaxLength];

        }

    }

}

相關文章
相關標籤/搜索