![](/img/trans.png)
[英]How to set root view controller of window to a UINavingationController when current root view controller of window is UITabBarController?
[英]How to access window or root view controller from CocoaTouch framework?
我編寫了簡單的CocoaTouch框架,我想在視圖底部添加UIPickerView,但是我的視圖很小,沒有特定的位置,當我添加subview UIPickerview時,它是顯示的,但是不起作用。 當UIPicker進入我的視圖時,它就起作用了。
我以為如果在根視圖上添加UIPickerView可以解決問題,但是我無法訪問框架上的根視圖或窗口:
(lldb) po UIApplication.shared
<UIApplication: 0x7ff756e00e70>
(lldb) po UIApplication.shared.windows
0 elements
(lldb) po UIApplication.shared.keyWindow
nil
我的框架可在development分支的GitHub AZViewer上找到。 和我對示例項目提交的問題: 697eb35
我找到了。
當您在框架或項目中在viewDidLoad
調用並創建類的實例,然后此實例要訪問根窗口時, UIApplication.shared.keyWindow
返回nil
因為視圖控制器尚未附加窗口。
因此,您必須在viewDidAppear
上調用並使用此方法,或連接到諸如點擊button
等的觸發器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.