我的UIViewController的一个子类,其处理一个UIView。所述的ViewController有模式地呈现(其从屏幕的底部向上滑动)。在该视图的顶部,我已经添加了一个导航条。请注意,此栏中没有由导航控制器处理。

我想获得导航栏的高度收缩当视图旋转到横向(类似于它的行为,当由一个UINavigationController处理)。然而,我无法其自动尺寸调整掩模设置为柔性高度在图1B中,并在代码这样做导致导航栏至完全消失。

有没有办法做到这一点?它是如何由UINavigationController的呢?

P.S。我宁愿不必诉诸缩放变换,因为这会搞乱在标题的文本。

编辑:我有一点点帮助解决它,阅读答案贴在下面

有帮助吗?

解决方案 2

我找到了解决方案,并在事后我感到相当笨。我不得不包括导航栏的自动调整大小面具灵活的底部边缘。信用是由于用户RayNewbie在这个线程,这指出我到溶液:

http://discussions.apple.com/thread.jspa?messageID=8295525

其他提示

而不是设置它的自动调整面具,你为什么不只是检查在viewWillAppear中的电流方向,以及在didRotateFromInterfaceOrientation,并设置适当的框架?

- (void) updateNavBar {
    UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
    if ((UIInterfaceOrientationLandscapeLeft == orientation) ||
        (UIInterfaceOrientationLandscapeRight == orientation)) {
        myNavBar.frame = CGRectMake(0, 0, 480, 34);
    } else {
        myNavBar.frame = CGRectMake(0, 0, 320, 44);
    }
}
- (void) viewWillAppear {
    [self updateNavBar];
    // ... SNIP ...
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [self updateNavBar];
    // ... SNIP ...
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top