【问题标题】:How to make the keyboard disappear from a UITextView?如何使键盘从 UITextView 中消失?
【发布时间】:2010-11-29 10:22:45
【问题描述】:

我的应用程序中有一个仅包含 UITextView 的屏幕。首次进入此屏幕时,在您点击进行编辑之前,键盘不存在。

但是如果你关闭屏幕,然后再回到它,键盘仍然是可见的,大概记得它之前的状态。我希望它在重新进入视图时消失。

有什么建议吗?我尝试了以下方法:

-(void)textViewDidEndEditing:(UITextView *)textView {
  NSLog ( @"end editing" );
  [textView resignFirstResponder];
}

查看控制台,在关闭该屏幕时确实会调用它,但它似乎没有帮助 - 当我重新进入屏幕时,文本视图仍然有键盘。

非常感谢

【问题讨论】:

  • 你调用了正确的方法,但在错误的地方。您应该改为在视图控制器的 viewWillDisappear 方法中调用 [textView resignFirstResponder]。

标签: iphone objective-c cocoa-touch uitextview


【解决方案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
    

    功能也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-19
      • 2012-01-05
      • 2011-03-05
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      相关资源
      最近更新 更多