存在导航栏和标签栏控制器时的UIView框架

时间:2010-09-10 20:01:44

标签: iphone objective-c uiview uinavigationcontroller uitabbarcontroller

我在 loadView 中以编程方式创建了一个UIView。该应用程序有一个UITabBarController和UINavigationController。

当标签栏和导航栏都存在时,如何创建自动调整大小的视图?

我目前解决此问题的方法是计算导航和标签栏控制器的高度,并从主屏幕的高度中减去它们:

float navObjectsHeight = self.tabBarController.tabBar.frame.size.height 
    + self.navigationController.navigationBar.frame.size.height;

CGRect mainFrame = CGRectMake(0, 0, screenFrame.size.width, 
  screenFrame.size.height - navObjectsHeight);

UIView *contentWrapper = [[UIView alloc] initWithFrame:mainFrame];

1 个答案:

答案 0 :(得分:5)

UIView有一个处理这种情况的属性。当您以编程方式创建它时,要使用的代码是:

UIView *aView = [[UIView alloc] init];
aView.autoresizingMask = UIViewAutoresizingFlexibleHeight;