菜鸟教程小白 发表于 2022-12-12 12:30:58

ios - 多个 UIWindows 和触摸事件


                                            <p><p>我创建了第二个窗口并将其添加到默认窗口之上:</p>

<pre><code>;
topWindow.hidden = NO;
</code></pre>

<p>它可以工作,但我的顶部窗口阻止了对应用程序默认窗口的访问。我想知道如果在屏幕给定位置的顶部窗口中没有元素(例如按钮),我们是否可以在下面访问默认窗口的元素。</p>

<p>我希望这是可以理解的。
对不起我的英语不好。
提前感谢您的帮助。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><blockquote>
<p>I have created a second window and add it on top</p>
</blockquote>
<p>所以,我认为通常的期望是 iOS 应用中每个屏幕只有一个窗口。 <a href="http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/WindowAndScreenGuide/WindowScreenRolesinApp/WindowScreenRolesinApp.html#//apple_ref/doc/uid/TP40012555-CH4-SW8" rel="noreferrer noopener nofollow">The docs seem to imply this</a> :</p>
<blockquote>
<p>Every app has one window that displays the app’s user interface on an iOS-based device display. If an external display is connected to the device, an app can create a second window to present content on that display as well.</p>
</blockquote>
<p>iOS 可能只是假设每个屏幕只有一个窗口,因此 <a href="http://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/event_delivery_responder_chain/event_delivery_responder_chain.html#//apple_ref/doc/uid/TP40009541-CH4-SW4" rel="noreferrer noopener nofollow">hit-testing process</a>只考虑一个窗口,可能是关键窗口。由于您将第二个窗口设置为关键窗口,我建议您在创建第二个窗口后创建第一个窗口键,看看是否会改变。如果第一个窗口随后收到触摸而第二个窗口没有,这并不奇怪。如果你发现是这种情况,你可以继承 <code>UIWindow</code>,覆盖 <code>-hitTest:withEvent:</code> 如果没有找到命中 View ,则将事件传递给其他窗口,然后使用它两个窗口的子类。</p>
<p>否则,如果您无法使其正常工作,请考虑返回单个窗口并改用不同的 View 。您的问题有点类似于 <a href="https://stackoverflow.com/q/17165469/643383" rel="noreferrer noopener nofollow">Make this view appear in every view, inside the app</a> , 和 <a href="https://stackoverflow.com/a/17432368/643383" rel="noreferrer noopener nofollow">my suggestion</a>在那里创建自己的容器 ViewController 可能会对您有所帮助。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 多个 UIWindows 和触摸事件,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17583795/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17583795/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 多个 UIWindows 和触摸事件