菜鸟教程小白 发表于 2022-12-13 15:58:01

ios - keyWindow = nil 仅在 iPad 上


                                            <p><p>我在 iPad 上的应用程序 keyWindow 出现问题。</p>

<p>我为 iPhone 设计了我的应用程序,后来通过设置设备系列和为 iPad 添加新的 Storyboard来添加对 iPad 的支持。
到目前为止一切都很好,我可以在 ipad 上打开应用程序,甚至显示我为 iPad 定制的界面。</p>

<p>现在问题来了:
我不知道为什么,但我的应用程序的 iPad 版本没有 keyWindow。
我需要它,因为我在开始时显示了一个加载对话框,应该锁定屏幕以进行用户交互,所以我将它添加到主窗口。在 iPhone 上这工作正常。</p>

<p>我发现“.keyWindow”给了我null,但只在iPad上,而“[.windows objectForKey:0]”给了我窗口对象,它当然必须存在,因为该应用程序显示了完整的用户界面。</p>

<p>ipad 和 iphone 的源文件当然是完全一样的,但是我想我后来添加 iPad 支持的时候漏掉了什么……</p>

<p>我已经尝试将应用程序委托(delegate)中的窗口对象手动设置为 makeKeyAndVisible,但没有成功。 (;)</p>

<p>有没有人知道我必须做些什么才能使其正常工作?</p>

<p>亲切的问候</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>好的,我自己解决了。
我必须将 makeKeyAndVisible 方法应用于我想作为 keyWindow 访问它的主窗口。我不知道为什么它在 Application Delegate 中不起作用,或者为什么我必须为 iPad 而不是 iPhone 手动设置它,但它现在可以工作了。</p>

<p>如果有人知道为什么,请随时启发我。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - keyWindow = nil 仅在 iPad 上,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12175922/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12175922/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - keyWindow = nil 仅在 iPad 上