2012-04-19 7 views
7

Comencé la plantilla Xcode usando GLKit, pero mi intención es tener una ventana que muestre la parte OpenGL de la vista y UIKit para los controles.¿Puedo usar iOS GLKit sin usar una vista de pantalla completa?

GLKViewController viene con un GLKView. Fui a IB y eliminé el GLKView y agregué un UIView, poniendo un nuevo GLKView en la parte superior del tamaño que quería. Luego arreglé las referencias al GLKView (self.view) y configuré el delegado de GLKView más pequeño en el controlador de vista.

que tiene

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[GLKViewController loadView] loaded the "2-view-9XZ-07-hga" nib but didn't get a GLKView.' 

Entonces miré a documentación y encuentre que GLKViewController requiere GLKView como su punto de vista. No sorpresa. Sí, soy nuevo en esto.

¿Cuál es una buena manera de utilizar GLKit con un GLKView más pequeño que la pantalla completa? ¿O está mezclando UIKit y GLKit simplemente no hecho?

(actualización: muchas personas están encontrando esta pregunta; la respuesta de Duncan, el uso de la contención controlador de vista, ha funcionado bien.)

Respuesta

8

Puedes, pero GLKit no significa que sea evidente la forma.

El problema es que GLKViewController está diseñado para que su contenido sea un GLKView, como dices.

Tiene dos opciones.

  1. Crea un GLKView y ponlo en un controlador de vista normal. Eso funciona bien

  2. Crear un GLKViewController con un GLKView como su contenido, y que sea un punto de vista secundario de otro controlador de vista, utilizando el nuevo soporte de controlador de vista padre/hijo en IOS 5.

+0

Gracias Duncan, padre/niño es lo que investigaré. –

Cuestiones relacionadas