cds*_*oft 0 iphone keyboard xcode objective-c
我一直在用xcode编写iphone应用程序,有一个包含电话号码字段的表单.它必须包含10位数字.如果用户首先在键盘中按0,则应用程序不得写入.
例如,电话号码05551234567,用户只能写5551234567.如果用户按0,则没有任何反应.
首先你应该使用
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)