Dyn*_*yna 5 objective-c uitextfield ios
我有一个文本字段,我想插入一个电话号码.问题是我使用数字键盘,没有任何输入键,我没有该键,我不知道如何关闭文本字段.
是否有任何方法可以检查文本字段中有多少个字符,并在有字符时关闭数字键盘?
对不起我的英语和抱歉的noob问题,但我刚开始与ObjC.
谢谢*
对不起伙计们,我忘了告诉你我已经尝试过了:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField.text.length== 9) {
[textField resignFirstResponder];
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
是的,我认为你有两个选择,你可以:
A. 检查委托方法 shouldChangeTextInRange 返回的字符数,然后如果达到限制,请退出第一响应者(当您退出第一响应者时,键盘将关闭,
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ( textView.text.length + (text.length - range.length) == 10) //or whatever value you like
{
[textField resignFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)
或乙:
重写视图的touchesEnded方法并调用resignFirstResponder,这样当用户触摸textField之外的视图时,键盘就会消失。- 这就是我在我的应用程序中所做的。
像这样:
只需将此方法添加到您的viewController中,当视图中的触摸结束时,它将自动调用,在该方法中您只需简单地resignFirstResponder,键盘就会消失。
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[textField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
我认为最好在touchesEnded 中执行此操作,而不是在started 中执行此操作,当您将手指从视图中抬起时(而不是最初触摸它时)让键盘关闭“感觉”更好。
| 归档时间: |
|
| 查看次数: |
1843 次 |
| 最近记录: |