我写了一个简单的 CocoaTouch 框架,我想在 View 底部添加 UIPickerView,但是我的 View 很小而且没有特定位置,当我添加 subview UIPickerview 时,它显示但不起作用。当 UIPicker 在我的 View 中时,它就可以工作了。
我想如果我在 Root View 上添加 UIPickerView 我的问题就解决了,但是我无法访问我的框架上的 Root View 或窗口:
(lldb) po UIApplication.shared
<UIApplication: 0x7ff756e00e70>
(lldb) po UIApplication.shared.windows
0 elements
(lldb) po UIApplication.shared.keyWindow
nil
我的框架在开发分支的 GitHub AZViewer 上可用。
以及我在示例项目提交上的问题:697eb35
最佳答案
我找到了。
当您在框架或项目中调用并创建类的实例时,viewDidLoad
然后您的实例想要访问根窗口,UIApplication.shared.keyWindow
返回 nil
因为 View Controller 还没有追加窗口。
因此您必须在 viewDidAppear
上调用并使用此方法,或者连接到触发器,如点击 button
等。
关于ios - 如何从 Cocoa Touch 框架访问窗口或 Root View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43029856/