我有必须调用的方法来检查手机号码范围和其他格式。但这种方法没有被称为:(
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
ProfileBasicCell *cell=[_tblView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
if (cell.txtMobile.text== textField && string.length>0) {
NSString *newText=[textField.text stringByReplacingCharactersInRange:range withString:string];
if (newText.length<=15) {
if (newText.length==4 || newText.length==8) {
textField.text=[newText stringByAppendingString:@"-"];
return NO;
}
return YES;
} else {
return NO;
}
}
return YES;
}
答案 0 :(得分:3)
您是否设置了代理?
class yourViewController: UITextFieldDelegate {
}
self.yourTextField.delegate = self;
答案 1 :(得分:0)
你需要像这样在你的控制器中设置UITextFieldDelegate
class yourViewController: UITextFieldDelegate {
}
然后你需要像这样给你的UITextfield代表
yourTextfield.delegate = self
答案 2 :(得分:0)
您需要设置委托。有两种方法:
- 通过故事板设置
醇>
要通过故事板进行设置,请右键单击文本字段,然后将delegate
拖到View Controller
- 以编程方式设置
醇>
UITextFieldDelegate添加到视图控制器,并为您的文本字段设置委托。这样的事情:self.textField.delegate = self;