菜鸟教程小白 发表于 2022-12-13 06:26:59

iOS - NSNotificationCenter 多个 UIKeyboard 通知


                                            <p><p>我有两个 ViewController ,我们称它们为 A 和 B</p>

<p>(1) 在 A 中我展示了一个包含 textField 的 popOver<br/>
(2)在B中有一个UITextView用于简单的文本编辑</p>

<p>我必须管理 A 和 B 中的键盘才能滚动键盘隐藏的内容。我知道如何重新定位内容。我需要的是一种在我的 UIKeyboardWill(Show/Hide)Notification 相同的通知类型上具有不同行为的方法。<br/>
到目前为止我做了什么:<br/>
(1) 我已经在每个 Controller 中添加了这段代码<br/>
</p> <pre><code>
    [ addObserver:self
                                  selector:@selector(keyboardDidAppear:)
                                    name:UIKeyboardWillShowNotification
                                    object:self.view.window
</code></pre>
正如我所说,我已将此代码添加到 A 和 B,但没有按预期工作。例如
当我在 textView 内单击时,触发了 A 的keyboardDidAppear 和 B 的keyboardDidAppear 两个方法,UIKeyboardWillHideNotification 也会发生同样的情况。
我确定我做错了什么,但老实说我无法弄清楚。 <p></p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我解决了这个问题,更改了我注册通知的位置。为了确保只有可见的 viewController 是接收通知的 Controller ,我在 vieWillAppear 中注册通知并在 viewWillDisappear 中删除通知。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS - NSNotificationCenter 多个 UIKeyboard 通知,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/4901174/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/4901174/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS - NSNotificationCenter 多个 UIKeyboard 通知