2012-10-21 4 views
0

최근에 UIViewController를 iOS 게임에 추가했는데 몇 가지 어려움이 있습니다. 보기 컨트롤러에 내보기가 추가되어 있고 전화기를 돌릴 때보기가 똑바로 유지되도록 회전합니다. 내 문제는 풍경에있을 때 화면이 세로 모드로 유지되고 하단이 화면을 벗어나고 화면 오른쪽에 아무 것도 그려지지 않을 때입니다. 나는이 문제를 해결하려면 어떻게UIViewController는 뷰를 회전하지만 크기를 조정하지 않습니다.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 

     CGRect screenBounds = [[UIScreen mainScreen] bounds]; 

     _glView = [[[OpenGLView alloc] initWithFrame:screenBounds] autorelease]; 
     [self.view addSubview:_glView]; 
    } 
    return self; 
} 

:

이 내 UIViewController에 대한 코드?

답변

3

OpenGLView 클래스가 무엇인지 잘 모르겠습니다 만, _glView ~ (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)autoresizingMask을 일부 UIView 파생물로 설정하려고 할 수 있습니다.

+0

예, UIView에서입니다. 그리고 코드가 작동했습니다. 그러나 내보기의 내용은 너비가 나쁘다 (OpenGL의 경우). 내 게임이 세로 방향으로 맞추어 져서 늘어난 것을 알 수 있습니다. OpenGL이 세로로 그려지는 것이겠습니까? 나는 그것을 어떻게 풍경으로 만들 것인가? – Bananable

+0

'glViewport'가 자동으로 크기가 조정되지 않는 것처럼 보입니다. 아마도'didRotateFromInterfaceOrientation'에서 수동으로 할 필요가있을 것입니다. 그렇게한다면 프로젝션 매트릭스를 업데이트하는 것을 잊지 마십시오. 아마도'OpenGLView' 클래스는 자신의 구현이 아니라면'resize' 나'reshape'와 같은 편리한 메소드를 가지고있을 것입니다. –

+0

예! 고맙습니다. 저는 영사 매트릭스의 값만 바꾸고 있었고, glViewport는 완전히 잊었습니다. 생명을 구하는 분이 십니다. – Bananable

관련 문제