2014-01-16 89 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?獲取版本檢查的幫助。