0

我有一个 UITabController 通过成为窗口的子视图来显示(然后动画滑入):

    [self.window addSubview:tabController.view];

    CGRect endFrame = tabController.view.frame;

    CGRect startFrame = tabController.view.frame;
    startFrame.origin.y += [[UIScreen mainScreen] bounds].size.height;
    tabController.view.frame = startFrame;

    [UIView animateWithDuration:.5 animations:^{
        tabController.view.frame = endFrame;
    }];

我的问题是我希望这个子视图根本不旋转,并且只是纵向的。尽管 在 my 的子视图shouldAutorotateToInterfaceOrientationshouldAutoRotate返回 false UITabController,但它的一部分仍然旋转 - 比如状态栏和UINavigationBar更改大小。

有没有办法解决这个问题,或者只是一种更好的做事方式?也许是一种强制状态栏旋转和UINavigationBar高度的方法?

4

1 回答 1

0

在您的 UITabController 中定义以下内容:

- (UIInterfaceOrientation) supportedInterfaceOrientations
{ return UIInterfaceOrientationPortrain; }

来自 iOS 文档:

声明首选的呈现方向 当视图控制器全屏呈现以显示其内容时,有时当以特定方向查看时内容看起来最好。如果内容只能以该方向显示,那么您只需将其作为 supportedInterfaceOrientations方法中的唯一方向返回。

于 2013-04-21T15:58:22.450 回答