2014-01-16 48 views
0

我正在研究iPhone应用程序并发生最奇怪的问题。iOS6上的UINavigationBar的上半部分未响应水龙头

在iOS 6上,导航栏上的按钮完全忽略了上半部分的水龙头。看看下面的图片,我粗略地选择我的导航栏按钮自来水方面: https://www.dropbox.com/s/izs6ic5jlubm1yk/navtap_problem.png

下面是一些可能有用的信息:

  • 的应用程序支持的iOS 6和7
  • 的应用程序无法使用自动布局(与增量的工作,而不是)
  • 这个问题只出现在iOS 6,它在iOS 7
  • 工作正常,问题存在于整个应用程序的所有视图(也有在顶部的导航栏)
  • 存在于在被从所述的UINavigationController
  • 问题来导航栏在IB手动添加以及两个导航条的问题是不存在,如果我直接从受影响的视图控制器
  • 之一启动应用程序
  • 问题存在,当我开始在我的空InitialViewController应用程序并加载另一个VC

我使用ECSlidingViewController从InitialViewController这样加载实VC(用户将看到):

self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SearchSplitViewNavigationController"]; 
[self resetTopView]; 

它看起来像不可见的东西覆盖了导航屏幕的上半部分。我查看了self.view.subviews的内容,但没有看到任何内容。

任何想法可能导致这种情况?或者我还能检查什么?

+0

可能是与iOS7的透明度。例如,在视图控制器属性部分中勾选边框(顶部和底部)的框? – GuybrushThreepwood

+0

它很可能与您使用三角洲有关。我的猜测是你的topViewController视图的顶部部分在它的父视图的框架之外。 –

+0

Ohnomycoco:是的,选择“顶部酒吧”和“底部酒吧”。取消选择它们并没有什么区别。安迪:我只设置-20到三角洲Y. – Blob

回答

0

我找到了一个解决方案(不是因为)。 This awesome library帮助了我很多,以确定问题。

实际上有一个透明的UIView坐在我的导航栏之上。它位于0,20,并有20分的高度。

这种观点是不self.view.subviews阵中,但这样做似乎[self.view bringSubviewToFront:myNavigationBar]做的伎俩......

0

如果以编程方式包含任何元素,那么该元素不会使用包含在故事板中的变化量。 对于这些元素,您必须测试您所使用的iOS版本并调整代码中的增量。

选中此项:Best Way to check for iOS 7 or earlier?获取版本检查的帮助。