0
我最近添加了一個UIViewController到我的iOS遊戲中,而且我遇到了一些困難。我將視圖添加到視圖控制器,當我旋轉手機時,視圖旋轉以保持直立。我的問題是,當視圖處於橫向模式時,視圖保持縱向模式,底部不在屏幕上,屏幕右側沒有任何東西。UIViewController旋轉視圖,但不會調整它的大小
這是我的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;
}
我該如何解決這個問題?
是的,它來自UIView。你的代碼確實有效。但是我的視圖的內容在寬度方面質量差(這是OpenGL),它告訴我我的遊戲被繪製爲縱向,然後拉伸。這是否是OpenGL被畫成肖像?我將如何使它景觀? – Bananable
它在我看來像'glViewport'沒有自動調整大小,也許你需要在'didRotateFromInterfaceOrientation'手動執行。如果你這樣做,記得更新你的投影矩陣。也許你的'OpenGLView'類有一些方便的方法,比如'resize'或'reshape',除非它是你自己的實現。 –
是的!謝謝,我只是在改變投影矩陣的值,我完全忘記了glViewport。你先生,是一個拯救生命的人。 – Bananable