Nav*_*afi 22 iphone objective-c uitextfield ios4
UITextField按下清除按钮时有没有办法隐藏键盘?
Mos*_*she 41
是的,虽然我怀疑这样做会违反Apple人机界面指南.
为此,请将以下方法添加到视图控制器的实现文件中.然后将视图控制器放入文本字段的委托中.
- (BOOL) textFieldShouldClear:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这种方法的缺点是,如果您想要阻止文本字段清除,您的代码就会变得混乱.相反,您可能尝试定义自定义方法,然后将其连接到valueDidChange方法并检查空值.
-(IBAction)hideKeyboardFromTextField:(id)sender{
//TODO: Check if the previous value was longer than one character to differentiate
//between backspace and clear.
//check if the editing caused the box to be empty
if([[sender value] isEqualToString:@""] || [sender value] == nil)
[sender resignFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当UITextField中有一个字符时,您无法轻易区分清除按钮和点击删除按钮.
正如我在回答开头所说的那样,首先这是不可取的,正如这里的答案所示,实施起来并不容易.考虑到所涉及的困难以及它不会带来最佳用户体验这一事实,我认为这不值得麻烦.
小智 10
这段代码绝对有助于我隐藏密钥板,同时清除文本字段的内容
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
textField.text = @"";
return NO;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14901 次 |
| 最近记录: |