2012-04-23 19 views
11

Independientemente de qué tipo controlador (UIViewController, UITableViewController), la siguiente línea siempre produce null en el método ViewDidLoad:UIViewController.View.Window es nulo en el método viewDidLoad

 
this.View.Window 

Es este comportamiento normal, o soy haciendo algo extraño? ¿Qué podría llevar a que UIViewController.View.Window sea null?

(supongo que esta pregunta se refiere no solo a MonoTouch, sino también a la 'normal' Objective-C Cocoa).

(MonoTouch 5.2.11, 4.2.1 XCode 4D502)

Respuesta

22

De acuerdo con la documentación de UIView, la propiedad es windownil si la vista aún no se ha añadido a una ventana que es el caso cuando es viewDidLoad llamado.

+1

¿Qué método se llama después de añadir la vista de una ventana? –

+4

@AlexRyan Puede usar '-viewDidAppear'. –

2

En lugar de self.view.window, utilice [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] window]

Cuestiones relacionadas