无法在 Interface Builder 中关闭键盘,因为视图控制器不会显示 doneEditing:
Posted
技术标签:
【中文标题】无法在 Interface Builder 中关闭键盘,因为视图控制器不会显示 doneEditing:【英文标题】:Can't dismiss keyboard in Interface Builder because view controller won't show doneEditing: 【发布时间】:2014-05-21 23:30:44 【问题描述】:有一个 AddEntryViewController(模态 segue),并希望通过从 textField 到 View Controller 的控制单击来关闭键盘。
问题是,当我到达 ViewController 时,在 HUD 中没有显示 doneEditing:,它只显示不同的 segue 选择。
为什么要这样做,如何让它在 HUD 中显示正确的信息?
【问题讨论】:
【参考方案1】:假设您在 ios 中使用 UITextField,它不会调用名为 doneEditing 的操作。
事实上,它不会发送任何动作,也不会触发 segue。因此,Interface Builder 假定您希望创建从当前视图控制器到另一个视图控制器的 segue。
您必须通过实现 textfieldShouldReturn 委托方法来关闭文本字段的键盘。在其中,您可以要求文本字段放弃其第一响应者状态,这将使键盘消失。这个截屏视频解释了更多:http://pinkstone.co.uk/how-to-dismiss-the-keyboard-from-a-uitextfield-in-ios/
如果您只想在视图关闭后立即关闭键盘,请在 viewWillDisappear 中实现:
- (void)viewWillDisappear:(BOOL)animated
[self.yourTextfield resignFirstResponder];
[super viewWillDisappear:animated];
【讨论】:
以上是关于无法在 Interface Builder 中关闭键盘,因为视图控制器不会显示 doneEditing:的主要内容,如果未能解决你的问题,请参考以下文章
无法在 SpringBootApplication 中关闭 SecurityConfig