【发布时间】:2011-03-08 14:53:12
【问题描述】:
当按下文本字段时,我正在移动我的视图,以便在键盘出现时获得正确的视图。现在,当按下 Done 键盘按钮时,我想将视图返回到其初始状态。按下完成键盘按钮时如何处理操作?
【问题讨论】:
标签: iphone keyboard key handle
当按下文本字段时,我正在移动我的视图,以便在键盘出现时获得正确的视图。现在,当按下 Done 键盘按钮时,我想将视图返回到其初始状态。按下完成键盘按钮时如何处理操作?
【问题讨论】:
标签: iphone keyboard key handle
执行此操作的正确方法是注意通知UIKeyboardDidShowNotification 和UIKeyboardDidHideNotification,详见Apple's documentation。
如果你想知道Done按钮何时被按下,实现
- (BOOL)textFieldShouldReturn:(UITextField *)textField
在您的委托中。它应该在按下返回按钮时调用。详情请见API documentation。
【讨论】:
创建一个IBAction 并将其连接到文本字段的didEndOnExit 方法。然后在此方法的实现中,您应该输入[yourTextFieldOutlet resignFirstResponder];,这将停用文本字段。
【讨论】:
@freespace 说得对,这就是你需要做的。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
return [textField resignFirstResponder];
}
点击完成按钮并噗,键盘不见了。
【讨论】:
如果您只想知道 Done 被按下,您可以要求被告知该控制事件:
[textField addTarget:self
action:@selector(donePressed)
forControlEvents:UIControlEventEditingDidEndOnExit];
这是IB的didEndOnExit的代码版本。
【讨论】: