我编写了简单的CocoaTouch框架,我想在视图底部添加UIPickerView,但我的视图很小,没有具体的位置,当我添加子视图UIPickerview时,它显示但不起作用。当UIPicker在我看来它的工作时。
我想如果我在根视图上添加UIPickerView,我的问题就解决了,但是我无法访问我的框架上的根视图或窗口:
(lldb) po UIApplication.shared
<UIApplication: 0x7ff756e00e70>
(lldb) po UIApplication.shared.windows
0 elements
(lldb) po UIApplication.shared.keyWindow
nil
我的框架在开发分支上的GitHub AZViewer上可用。
和我在示例项目提交上的问题:697eb35
答案 0 :(得分:0)
我找到了。
当您在框架或viewDidLoad
中的项目中调用并创建类的实例,然后您的此实例想要访问根窗口时,UIApplication.shared.keyWindow
返回nil
因为视图controller它还没有追加窗口。
因此,您必须在viewDidAppear
上致电并使用此方法,或者点击触发,例如点按button
等。