簡體   English   中英

如何從CocoaTouch框架訪問窗口或根視圖控制器?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM