1.textview通過實現(xiàn)textViewDidChange代理方法來實現(xiàn)度苔。
- (void)textViewDidChange:(UITextView *)textView{
if (textView.markedTextRange == nil && textView.text.length > 50) {
//提示語
[self showMessage:@"輸入限制50個字符以內(nèi)"];
//截取
textView.text = [textView.text substringToIndex:50];
}
}
2.textfield實現(xiàn)限制輸入長度
本想通過textfield的代理方法shouldChangeCharactersInRange實現(xiàn),但是當點擊聯(lián)想字符時不走這個代理甩骏,點擊聯(lián)想字符時同樣也不走textfield的其他幾個編輯狀態(tài)的代理窗市。 這里也沒有發(fā)現(xiàn)有textfiledDidChange的代理。 但是在UITextField的父類UIControl中有個 ( UIControlEventEditingChanged)事件饮笛,所以可以通過給UITextField添加事件來實現(xiàn)限制輸入長度咨察。
//添加事件
[_textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
//實現(xiàn)方法
- (void)textFieldDidChange:(UITextField *)textField
{
if (textField.text.length > 20) {
//提示語
[self showMessage:@"輸入限制20個字符以內(nèi)"];
//截取
textField.text = [textField.text substringToIndex:20];
}
}