从背景回来时iPhone导航栏旋转问题

时间:2011-05-05 05:10:05

标签: objective-c cocoa-touch ios4 background orientation

好的,经过数周的头痛后,我已经放弃并决定在线转向专家资源!

基本上,我试图让我的iphone应用程序以强制横向模式(确切地说,对于图形)查看仅1个视图控制器,否则以纵向为主导的导航栏应用程序。

我把所有东西都按照它应该的方式工作,除了当我将应用程序放到后台并返回时,应用程序返回,导航栏移动到它通常处于纵向方向模式但旋转90',而其他每个像状态条形图,主视图仍然处于横向模式。

之后我尝试手动修正导航栏的方向,但是cocoa似乎忽略了这段代码。当应用程序从后台模式返回时,几乎就像self.view.transform不起作用一样。有什么建议吗?

LandscapeViewController.m

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return NO;
}

-(void)viewWillAppear:(BOOL)animated {
    self.view.transform = CGAffineTransformMakeRotation((M_PI * (90) / 180.0));
    self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);
}  

此图片显示您可以看到我的意思

image http://i.stack.imgur.com/Qx1Si.png

2 个答案:

答案 0 :(得分:0)

你试过这个吗?

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

答案 1 :(得分:0)

您不应该总是从shouldAutorotateToInterfaceOrientation返回NO:但是为您支持的方向返回YES。然后iOS处理其余部分。