2012-04-23 6 views
11

Niezależnie od rodzaju sterowania (UIViewController, UITableViewController), następujący wiersz zawsze daje null w metodzie ViewDidLoad:UIViewController.View.Window jest null w metodzie viewDidLoad

 
this.View.Window 

Czy to normalne zachowanie, czy jestem robienie czegoś dziwnego? Co może doprowadzić do tego, że UIViewController.View.Window jest ?

(Przypuszczam, że to pytanie dotyczy nie tylko MonoTouch, ale także "normalnego" kakao z Objective-C).

(MonoTouch 5.2.11, XCode 4.2.1 4D502)

Odpowiedz

22

Według dokumentacji UIView właściwość window jest nil jeśli widok nie zostało jeszcze dodane do okna, które ma miejsce w przypadku, gdy jest viewDidLoad nazywa.

+1

Jaka metoda jest wywoływana po widok zostanie dodany do okna? –

+4

@AlexRyan Możesz użyć opcji '-viewDidAppear'. –

2

Zamiast self.view.window użyć [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] window]