Iphone应该在键盘上阻止0号码

cds*_*oft 0 iphone keyboard xcode objective-c

我一直在用xcode编写iphone应用程序,有一个包含电话号码字段的表单.它必须包含10位数字.如果用户首先在键盘中按0,则应用程序不得写入.

例如,电话号码05551234567,用户只能写5551234567.如果用户按0,则没有任何反应.

Jac*_*ack 9

首先你应该使用

textView.keyboardType = UIKeyboardTypePhonePad
Run Code Online (Sandbox Code Playgroud)

选择正确类型的键盘,以便您只能输入数字.

其次,您必须实现a UITextViewDelegate,将其设置为文本视图委托并实现自定义

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
Run Code Online (Sandbox Code Playgroud)

这将检查您是否尝试在内容的开头插入0并返回NO该情况.

如果你使用的是UITextField一切都是一样的,唯一的区别就是你将使用UITextFieldDelegate和实现

- (BOOL)textField:(UITextField *)textField shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
Run Code Online (Sandbox Code Playgroud)