Init UIViewController取决于iPad的方向

时间:2011-11-20 15:14:07

标签: objective-c uiviewcontroller orientation

我尝试根据iPad的方向初始化我的UIViewController。 在initWithNibName中,我使用以下代码:

CGSize size = self.view.frame.size;
authForm = [[[AuthForm alloc] initWithFrame:CGRectMake(-400,(size.height-400)/2,400,400)] autorelease];
[self.view addSubview:authForm];

这是应用程序以纵向模式启动时所需要的(颠倒与否),但我希望在横向模式(左侧或右侧)启动时使用此功能:

authForm = [[[AuthForm alloc] initWithFrame:CGRectMake((size.width-400)/2,-400,400,400)] autorelease];

我怎么能这样做? 我已经尝试了willAutorotateToInterfaceOrientation:的一些内容,但它没有用。

1 个答案:

答案 0 :(得分:0)

好吧,关于这个话题,我在帖子上显然没有走得太远。 我终于找到了这个:

if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight) {
   authForm = [[[AuthForm alloc] initWithFrame:CGRectMake((size.width-400)/2,-400,400,400)] autorelease];
} else {
   authForm = [[[AuthForm alloc] initWithFrame:CGRectMake(-400,(size.height-400)/2,400,400)] autorelease];
}

非常感谢