ios6旋转问题

时间:2012-11-19 05:30:03

标签: ios6 screen-rotation

我正在将我的应用转换为ios6,但我遇到了旋转问题。 有人可以帮助我在旋转设备时调用哪些方法

4 个答案:

答案 0 :(得分:0)

- (BOOL) shouldAutorotate -(NSUInteger)supportedInterfaceOrientations

这些是添加到iOS 6的新功能。

答案 1 :(得分:0)

 -(NSUInteger)supportedInterfaceOrientations

{
    return UIInterfaceOrientationMaskAll;
}

-(void)viewWillLayoutSubviews
{
if([self interfaceOrientation] == UIInterfaceOrientationPortrait||[self interfaceOrientation] ==UIInterfaceOrientationPortraitUpsideDown)
    {
     //set the frames here
    }
    else if ([self interfaceOrientation] == UIInterfaceOrientationLandscapeLeft||[self interfaceOrientation] == UIInterfaceOrientationLandscapeRight)
    {
      //set the frames here
    }
}

最好使用此方法,每次更改设备的方向时,上述方法都会调用。

答案 2 :(得分:0)

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation duration:(NSTimeInterval)duration 
{
    [self doLayoutForOrientation:toInterfaceOrientation]; 
}


- (void)doLayoutForOrientation:(UIInterfaceOrientation)orientation { 
if (UIInterfaceOrientationIsPortrait(orientation)) 
{
//set the frames here
}
else 
{
//set the frames here
} 
}

这些是ios 6中的新方法,您可以根据方向设置帧。希望它对你有用。

答案 3 :(得分:0)

使用这些方法处理旋转

-(BOOL) shouldAutorotate
{
    return NO;
}

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

如果旋转中的某些视图并且您不希望像UIImagePickerController那样只创建子类并覆盖第一个方法。