UITextField 限制输入长度
2018-11-28 11:56 法子 阅读(218) 评论(0) 编辑 收藏 举报static int MaxLength = 16; - (void)viewDidLoad { [super viewDidLoad]; [self.myTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; } //因为有markedText的时候没处理,所以在传textfiled.text的值时要再次截一下。比如注册用户名里正输入了一半的拼音,没点键盘的"选定",就点了注册按钮。 //NSString * account = _myTextField.text.length > MaxLength ? [_myTextField.text substringToIndex:MAXLenght] : _myTextField.text; - (void)textFieldDidChange:(UITextField *)textField{ //中文拼音输入法,即textField.textInputMode.primaryLanguage为:zh-Hans(简体)、zh-Hant(繁体)的时候,输入还是拼音的时候就return; //输入英文如果有选中效果的占位字母就return if (textField.markedTextRange != nil) { return; } NSString *tempString = textField.text; // 去掉首尾的空格和回车 // tempString = [tempString stringByTrimmingCharactersInSet:NSCharacterSet.whitespaceAndNewlineCharacterSet]; if (tempString.length > MaxLength) { tempString = [tempString substringToIndex:MaxLength]; } textField.text = tempString; } - (void)dealloc { [NSNotificationCenter.defaultCenter removeObserver:self]; }