iOS 7:self.view.frame是什么框架?

时间:2013-12-03 19:49:16

标签: ios view hierarchy

我开始对整个帧计算感到困惑。我不能肯定地说,因为我不知道iphone屏幕的确切大小,但我认为在我的应用程序中self.view.frame导致错误的值(3.5英寸屏幕上的480)。我想这个框架包括status-,nav-和tabbar?它总是包括那个吗?因为我实际上已经在界面构建器中取消选择了所有“Exend edges ...”。

然后如何在不使用导航和tabbar的情况下获得屏幕大小?

让我们说self.frame确实返回包括所有条形图在内的完整屏幕尺寸。我在我的应用程序中有这行代码,用于返回嵌入式tableview相对于超级视图的帧位置:

self.tableView.tableFrameInMainView = [self.centerView convertRect:self.tableView.frame toView:self.view];

这个有效。与我的屏幕的y = 0值(导航栏下方的屏幕)的y = 0值相比,此值返回与此表视图的界面构建器中设置的所有约束完全相同的值。

这就是我为什么感到困惑的原因......如果没有导航栏,self.view.frame.size.height会返回一个包含所有条形的值,这个怎么回事?

1 个答案:

答案 0 :(得分:1)

查看所有UIWindow所拥有的UIView媒体资源......

CGRect fullRect = self.view.window.frame;