0

我在视图中使用自定义按钮推送/弹出 UIViewController 时看到了这个非常奇怪的问题。我确认它不会发生在我拥有的其他视图中,例如 UIViewTableController 等。我有一个计算导航栏 + 状态栏高度的函数,然后我偏移了我的图标,因此它们的原点从 CGMakeRect(0.0f, navbarheight+statusbarheight, ....)当我在手机上启动主屏幕时,这看起来很棒(这个视图被初始化为根视图):

https://dl.dropboxusercontent.com/u/28315319/photo%20%282%29.PNG

然后,当我将一个新视图推送到导航控制器上时,我发现这个间隙突然出现了。这不会发生在模拟器上,但会发生在手机上。同样,该顶部按钮被放置为 CGMakeRect(0.0f, navbarheight+statusbarheight, ....)

https://dl.dropboxusercontent.com/u/28315319/photo%20%283%29.PNG

最后,当我弹出那个视图时,我原来的根视图包含这个间隙。

https://dl.dropboxusercontent.com/u/28315319/photo%20%281%29.PNG

不知道是什么导致这种情况发生在真实手机(iphone 4s + iphone 5)而不是模拟器上。如果您需要更多信息,请告诉我。

更新:

据我所知 - 这是 XCode 模拟器中的一个错误,没有考虑导航栏的高度。我不再使用模拟器,只是将其分发到我的手机上。

4

1 回答 1

0

听起来你可能还没有self.navigationController.navigationBar.hidden设置为 YES。这样做应该会自动考虑导航栏偏移。

于 2013-09-14T16:52:18.970 回答