【问题标题】:InputAccessoryView with UITextView on iPadiPad 上带有 UITextView 的 InputAccessoryView
【发布时间】:2011-05-12 09:35:42
【问题描述】:

我正在使用由几个视图组合而成的 UIView,其中一个是 UITextView。

当 UITextView 成为第一响应者时,我将 UIView 设置为其 InputAccessoryView。 键盘的辅助视图很好用。

问题在于它看起来 UITextView 是第一个响应者,因为可以立即在内部输入文本(无需单击光标)但是当尝试关闭键盘时它不会关闭,即使导航回键盘将保持不变。

只有当我再次点击 UITextView 时,我才能关闭键盘,当我返回时,键盘会关闭。

有没有人知道,这是怎么回事?

我认为 UIResponder 可能有一些递归,因为 UITextView 在它自己的 inputAccessoryView 中,有什么想法可以解决这个问题吗?

【问题讨论】:

    标签: uitextview


    【解决方案1】:

    我也有这个问题。解决了:

    [self.view endEditing:YES];
    

    【讨论】:

      【解决方案2】:

      我发现原因是当被设置为inputAccessoryView时,UITextView现在不是FirstResponder。无论如何,如果您再次触摸 UITextView,它就会成为第一响应者,然后一切正常。

      所以我在 iphone 上的(丑陋的)解决方案是:

      1. 观察 UIKeyboardDidShowNotification:

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];

      2. 收到UIKeyboardDidShowNotification后,再次向UITextView发送becomeFirstResponder(keyboardDidShow:)。

      我已经测试了将代码放入textViewShouldBeginEditing:,但是当时inputAccessoryView没有显示在屏幕上,所以它仍然不能成为第一响应者?

      @takeshi-kaga 我已经尝试过你的方法,但它不起作用。你能分享更多细节吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 2015-07-12
        • 1970-01-01
        • 2011-11-22
        • 1970-01-01
        • 2014-08-27
        • 1970-01-01
        相关资源
        最近更新 更多