我在ios8 iphone应用程序中使用了一行代码来帮助布局相对于导航控制器导航栏的子视图:
height -= self.navigationController.navigationBar.frame.size.height;
但我所有的观点对齐都是垂直的。我一直在重新检查我的代数,但那不是问题。相反,上面的代码行获得了错误的值。
我做了一些阅读(What is the height of Navigation Bar in iOS 7?)并发现从ios 7开始导航栏是64分......但我的代码行返回44:
self.navigationController.navigationBar.frame.size.height
你可能会说我的数学错误,但是一旦我将64硬编码到我的程序中而不是使用上面的行,一切都很完美,所有的布局都应该是这样。
为了使其更加混乱,当没有导航栏时,上面的调用确实返回0。所以它部分正确。这是一个已知的错误,还是我在不知情的情况下做一些愚蠢的事情?如果我应该初始化一些东西但没有,我可以理解一个空值或随机值,但是得到旧的44值而不是新的64值似乎有些错误。
所以把它作为一个问题 - 我做错了什么或这是一个错误?
感谢您提出任何建议/信息。