Definitivamente no debe llamar al [super loadView]
. Diría que encontraste un error en el ejemplo de ZoomingPDFViewer.
Usted reemplaza loadView
cuando desea crear programáticamente la jerarquía de vista para su controlador de vista (no usa un xib).
Como ha señalado, los documentos claramente indican que no debe llamar a super.
Su implementación personalizada de este método no debe llamar súper.
Asumo esto es para evitar la carga tanto desde un xib y crear programáticamente una vista ya que este método es utilizado por la base para cargar una vista desde un xib:
Si el controlador de vista tiene una archivo de punta asociado, este método carga la vista desde el archivo de punta.
Tenga en cuenta también que, incluso si durante la asignación de su objeto UIViewController
se pasa a cero para el parámetro nibNameOrNil que la implementación de UIViewController
loadView
intentará cargar cualquier xib con el nombre de la clase asociada en ella.
Un controlador de vista tiene un archivo de punta asociada si la propiedad nibName devuelve un valor no nulo, el cual se produce si el controlador de vista se instancia de un guión, si ha asignado explícitamente un archivo semilla utilizando el initWithNibName: paquete: método, o si iOS encuentra un archivo de punta en el paquete de la aplicación con un nombre basado en el nombre de clase del controlador de la vista. Si el controlador de vista no tiene un archivo de punta asociado , este método crea un objeto UIView simple en su lugar.
La verdadera intención de este método es para darle el control total de la construcción de la jerarquía de vistas sin depender de la incorporada en el mecanismo de carga xib .:
Puede reemplazar este método con el fin de crear su vistas de forma manual.
Personalmente, puedo reemplazar loadView
si: 1.) El xib Me gustaría hacer porque es muy trivial o 2.) El diseño del control es muy dinámico, por lo que la creación de un xib con un diseño estático tiene poco beneficio .
Marca +1 para longitud junto con claro/conciso ... – Damo