2011-09-05 9 views

Respuesta

9

No hay nada incorporada, sino un controlador de vista podría, al recibir viewDidAppear y/o viewWillDisappear cheque si tiene un parentViewController, ya que por Apple's documentation (énfasis añadido):

controladores de vista de Padres son relevantes en la navegación , barra de pestañas y modal ver las jerarquías del controlador. En cada una de estas jerarquías, el padre es el objeto responsable de mostrar el controlador de vista actual. Si está utilizando un controlador de vista como un objeto independiente, es decir, no como como parte de una jerarquía de controlador de vista, el valor en esta propiedad es nulo.

Si tiene, entonces puede establecer indicadores adecuados para futuras referencias.

Tenga en cuenta que presentarse de manera modal es diferente de ser verdaderamente modal. Por ejemplo, en un iPad, puede poner un controlador dentro de un UIPopoverController, de modo que el controlador no se presente de forma modal, pero luego podría presentar de manera modal otro controlador sobre sí mismo. Por lo tanto, el segundo controlador se presenta de forma modal, pero no es un diálogo modal en sí mismo porque, si el programa se configura adecuadamente, el usuario puede ignorar completamente el popover.

+1

'viewWillDisappear' es demasiado pronto; 'viewDidDisappear' es apropiado para verificar si el padre fue anulado, p. después de salir de una pila de navegación. – qix

6

Comprobar si parentViewController la propiedad de su UIViewController es nil o no. Si la propiedad es nil, se descarta o se presenta.

NOTA: la propiedad parentViewController de childbookController de UITableView también no es nil, también debe asegurarse de que parentViewController no sea UITableViewController.

Cuestiones relacionadas