如何根据其他UIElement的高度检索可用高度?

时间:2011-09-06 09:42:19

标签: objective-c cocoa-touch height

我如何获得可用的高度?

我试过了:

NSLog(@"%f", [self bounds].size.height);
NSLog(@"%f", [self frame].size.height);
NSLog(@"%f", [[UIScreen mainScreen] bounds].size.height);

我总是得到屏幕的高度。 但实际高度较小。信息栏位于顶部+导航栏,高度较小。

修改: 我需要以编程方式检索高度。这是否有一个TabBar,我的视图并不总是在NavBar控制器中。也许没有NavBar。

2 个答案:

答案 0 :(得分:1)

self.view.frame.size.height;

OR

float theHeight = // one of the methods you posted
theHeight -= 44; // for nav bar
theHeight -= 20; // for status bar

答案 1 :(得分:1)

导航栏的预定义高度为44,您永远无法更改。通过信息栏,我认为你的意思是状态栏,其固定高度为20. 总高度的iPhone屏幕 480 即可。你做计算......:)

但是,如果你想要这样一个屏幕的高度,那么在笔尖中总是有模拟状态栏和导航栏,然后拥有所有的UI元素。在那之后,当你做

  

self.view.frame.size.height

您将获得视图的高度