UITextView和UITextField限制输入字符
(void)textViewDidChange:(UITextView *)textView{
if (textView.markedTextRange == nil && textView.text.length > 1500) {
//截取
textView.text = [textView.text substringToIndex:1500];
}
}
- (void)editingChange:(UITextField *)sender {
NSInteger kMaxLength = 30;
NSString *toBeString = sender.text;
NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage; //ios7之前使用[UITextInputMode currentInputMode].primaryLanguage
if ([lang isEqualToString:@"zh-Hans"]) { //中文输入
UITextRange *selectedRange = [sender markedTextRange];
//获取高亮部分
UITextPosition *position = [sender positionFromPosition:selectedRange.start offset:0];
if (!position) {// 没有高亮选择的字,则对已输入的文字进行字数统计和限制
if (toBeString.length > kMaxLength) {
sender.text = [toBeString substringToIndex:kMaxLength];
}
}
else{//有高亮选择的字符串,则暂不对文字进行统计和限制
}
}else{//中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
if (toBeString.length > kMaxLength) {
sender.text = [toBeString substringToIndex:kMaxLength];
}
}
}
return键的操作
//点击textView
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
#pragma mark -- UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
if (textField == self.passWordTextField) {
[textField resignFirstResponder];
}
return YES;
}