从子视图更改界面方向 - iOS

时间:2013-01-11 13:36:18

标签: ios subview uiinterfaceorientation

我有一个永远是肖像的iPhone应用程序。但我需要旋转视图来显示表格。 该按钮位于子视图中。我有这段代码:

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

但是因为从子视图调用此视图,所以忽略了界面方向。

有没有办法改变界面方向?

谢谢!

2 个答案:

答案 0 :(得分:0)

您是否尝试过以下操作?

[UIApplication sharedApplication] .statusBarOrientation = UIInterfaceOrientationLandscapeRight;

答案 1 :(得分:0)

您需要在要旋转的视图上设置变换,然后将其设置回标识变换。

这将在肖像和风景之间切换......

 UIView* viewToTransform = self.newview;
    if (CGAffineTransformIsIdentity(viewToTransform.transform)) {
        CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2);
        viewToTransform.transform = transform;

    }else{
        viewToTransform.transform = CGAffineTransformIdentity;
    }

更好的是,保存属性中的现有变换,以便以后可以重置它(这将处理原始变换不是标识变换的情况)。