如何使键盘从 UITextView 中消失?
Posted
技术标签:
【中文标题】如何使键盘从 UITextView 中消失?【英文标题】:How to make the keyboard disappear from a UITextView? 【发布时间】:2010-11-29 10:22:45 【问题描述】:我的应用程序中有一个仅包含 UITextView 的屏幕。首次进入此屏幕时,在您点击进行编辑之前,键盘不存在。
但是如果你关闭屏幕,然后再回到它,键盘仍然是可见的,大概记得它之前的状态。我希望它在重新进入视图时消失。
有什么建议吗?我尝试了以下方法:
-(void)textViewDidEndEditing:(UITextView *)textView
NSLog ( @"end editing" );
[textView resignFirstResponder];
查看控制台,在关闭该屏幕时确实会调用它,但它似乎没有帮助 - 当我重新进入屏幕时,文本视图仍然有键盘。
非常感谢
【问题讨论】:
你调用了正确的方法,但在错误的地方。您应该改为在视图控制器的 viewWillDisappear 方法中调用 [textView resignFirstResponder]。 【参考方案1】:始终将您的 outlet 设置为 nil on:
-(void)viewDidUnload
self.textViewObject = nil;
【讨论】:
谢谢。虽然没有帮助。我在 viewDidUnload 中放了一条日志语句,但没有被调用。我认为这是因为我的文本视图是自动创建的,因为我使用 IB 将它作为视图控制器放在另一个 nib 中。 (有意义吗?)【参考方案2】:最后,我不得不这样做,以便打开此视图的视图在每次打开它时都重新创建此视图,以使键盘不再出现。
【讨论】:
【参考方案3】:试着把同样的东西放进去
-(void)viewWillDisappear:(BOOL)animated
功能 代码是这样的
-(void)viewWillDisappear:(BOOL)animated
[self.textViewObject resignFirstResponder];
你也可以在
中指定-(void)viewWillAppear:(BOOL)animated
功能也是如此。
【讨论】:
以上是关于如何使键盘从 UITextView 中消失?的主要内容,如果未能解决你的问题,请参考以下文章
自 iOS 7 中的删除(退格)操作以来,我如何才能不接收 UITextView 委托消息?