2012-04-23 26 views
11

Bất kể vào loại điều khiển (UIViewController, UITableViewController), dòng sau luôn mang lại null trong phương pháp ViewDidLoad:UIViewController.View.Window là null trong phương pháp viewDidLoad

 
this.View.Window 

là hành vi này bình thường, hay tôi làm một cái gì đó kỳ lạ? Điều gì có thể dẫn đến UIViewController.View.Windownull?

(Tôi cho rằng câu hỏi này không chỉ liên quan đến MonoTouch, mà còn 'Cacao' Objective-C bình thường ').

(MonoTouch 5.2.11, XCode 4.2.1 4D502)

Trả lời

22

Theo tài liệu của UIView, các window tài sản là nil nếu quan điểm vẫn chưa được thêm vào một cửa sổ đó là trường hợp khi viewDidLoad là gọi là.

+1

phương pháp gì được gọi là sau khi xem được thêm vào một cửa sổ? –

+4

@AlexRyan Bạn có thể sử dụng '-viewDidAppear'. –

2

Thay vì self.view.window, sử dụng [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] window]

Các vấn đề liên quan