如何获取applicationFrame减去UINavigationBar的高度?

时间:2010-09-04 23:19:35

标签: iphone uiviewcontroller autoresizingmask

我把它放在loadView中,它可以工作:

CGRect navFrame = [[UIScreen mainScreen] applicationFrame];
navFrame.size.height -= self.navigationController.navigationBar.frame.size.height;
UIImageView *imageView = [[UIImageView alloc] initWithFrame:navFrame];

但是有一个像applicationFrame这样的变量会给applicationFrame减去UINavigationBar的高度吗?

1 个答案:

答案 0 :(得分:2)

看起来没有,因为three20做了类似于我所做的事情。在TTGlobalNavigatorMetrics.m中,他们会这样做:

CGRect TTNavigationFrame() {
  CGRect frame = [UIScreen mainScreen].applicationFrame;
  return CGRectMake(0, 0, frame.size.width, frame.size.height - TTToolbarHeight());
}

http://github.com/facebook/three20/blob/master/src/Three20UINavigator/Sources/TTGlobalNavigatorMetrics.m#L53

马特