iOS 7.0限制textView、textField文字长度崩溃问题解决 —— HERO博客

来源:互联网 发布:同步网络平台 编辑:程序博客网 时间:2024/06/06 20:46

在对textView、textField限制文字长度时,如果不做特殊处理,当联想文字加上已输入文字超出设定长度时,iOS 7.0系统会崩溃(iOS 8.0以上系统做了处理,不会崩溃)。

解决方法:在限制长度时加一个判断,textView.markedTextRange == nil,表示没有在联想输入状态时。

#pragma mark - textViewDelegate- (void)textViewDidChange:(UITextView *)textView{    if (textView.text.length > 140 && textView.markedTextRange == nil) {        textView.text = [textView.text substringToIndex:140];    }}

#pragma mark - UITextFieldDelegate- (void)textFieldEditingChanged:(UITextField *)textField{    if (textField.text.length > kMaxLength && textField.markedTextRange == nil) {        textField.text = [textField.text substringToIndex:kMaxLength];    }}




3 0