2012-04-19 2 views
7

GLKit을 사용하여 Xcode 템플릿을 시작했지만 본인의 의도는 뷰의 OpenGL 부분과 컨트롤의 UIKit을 보여주는 창을 사용한다는 것입니다.전체 화면보기를 사용하지 않고 iOS GLKit을 사용할 수 있습니까?

GLKViewController는 GLKView와 함께 제공됩니다. IB에 가서 GLKView를 제거하고 UIView를 추가하여 원하는 크기로 맨 위에 새로운 GLKView를 추가했습니다. 그런 다음 GLKView (self.view)에 대한 참조를 수정하고보기 컨트롤러에 더 작은 GLKView 대리자를 설정했습니다.

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

있어 나는 문서를 쳐다 보면서 GLKViewController가보기로 GLKView 필요하다는 것을 찾을 수 있습니다. 놀랄 일이 아닙니다. 네, 저는이 일에 새로운 사람입니다.

전체 화면보다 작은 GLKView에서 GLKit을 사용하는 좋은 방법은 무엇입니까? 또는 UIKit과 GLKit을 섞어서 사용하고 있지 않습니까?

(갱신 : 많은 사람들이이 문제를 발견하고, 던컨의 답변을, 뷰 컨트롤러의 봉쇄를 사용하여, 일했다 아니라.)

답변

8

당신은 할 수 있지만, GLKit 방법이 명확하지 않습니다.

문제는 GLKViewController가 콘텐츠 뷰가 GLKView가되도록 설계 되었기 때문입니다.

두 가지 선택 사항이 있습니다.

  1. GLKView를 만들고 일반보기 컨트롤러에 넣습니다. 그건 잘 작동합니다.

  2. 아이폰 OS의 새로운 상위/하위 뷰 컨트롤러 지원을 사용하여 컨텐츠로 GLKView와 GLKViewController를 작성하고, 다른 뷰 컨트롤러의 아이 뷰 만들기 5.

+0

감사 던컨, 부모/아이는 제가 살펴볼 것입니다. –