在ViewDidLoad方法中,UIViewController.View.Window为null

时间:2012-04-23 09:47:44

标签: iphone ios cocoa-touch xamarin.ios

无论哪种控制器类型(UIViewControllerUITableViewController),以下行始终在null方法中产生ViewDidLoad

this.View.Window

这种行为是正常的,还是我做了一些奇怪的事情?什么可能导致UIViewController.View.Window成为null

(我想这个问题不仅涉及MonoTouch,还涉及'普通'Objective-C Cocoa)。

(MonoTouch 5.2.11,XCode 4.2.1 4D502)

3 个答案:

答案 0 :(得分:27)

根据UIView的文档,如果视图尚未添加到窗口,window属性为nil,则调用viewDidLoad时就是这种情况

答案 1 :(得分:3)

而不是self.view.window使用

[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] window]

答案 2 :(得分:3)

$ find . -iname '*.pdf' -print0 | xargs -0 ./foobar ['./file 2.pdf', './file1.pdf'] 将在 viewDidAppear 中提供:

self.view.window