2012-02-07 51 views
1

我有一個帶導航控制器的選項卡欄控制器。在這個導航控制器中有一個導航欄。導航欄僅部分隱藏在iOS5中

實現它非常簡單,沒有自定義代碼。我在Xcode中用圖形界面完成所有工作。

如果我在iOS4中打開應用程序,它是完美的。

NavigationBar in iOS4

,但如果我在iOS5中或iOS 5.0.1打開...它部分隱藏與狀態欄。

NavigationBar in iOS5

我怎樣才能解決這個問題?

編輯:這是我在MainWindow.xib文件執行(抱歉,我需要刪除一些地名)

Implementation

+0

你使用xib嗎? Do是導航控制器的導航欄嗎?導航欄是否由您創建並添加爲子視圖? – 2012-02-07 10:30:21

+0

我編輯了這篇文章。謝謝 – JSanchez 2012-02-07 10:37:54

+0

我想爲什麼這個人投了我的答案出來的評論或更好的回答 – 2012-02-07 13:07:03

回答

0

我與誰使用的廈門國際銀行的其他開發者做舊項目有同樣的問題。
我的解決方案是,你必須寫一些代碼:如果你做了拖放編程方法。 所以:

在viewWillAppear移動所有你的用戶界面元素向下20像素。 我在xib中爲每個元素添加了標籤,並且使用了一個靜態int我只保留了一次更改。

static int oneTine = 0; 
    if(!oneTine){ 
     for(int index = 1001; index<=1005; index++){ 
      UIView *currentView = [self.view viewWithTag:index]; 
      CGRect viewFrame = currentView.frame; 
      viewFrame.origin.y -=20; 
      currentView.frame = viewFrame; 
     } 
    oneTine = 1; 
    } 
+0

代碼不起作用。但我嘗試其他解決方案的基礎:放標籤50到導航欄,並寫在viewWillAppear: 'UIView * currentView = [self.view viewWithTag:50]; CGRect viewFrame = currentView.frame; viewFrame.origin.y - = 20; currentView.frame = viewFrame;' 而且我通常不會做出反對票。我總是欣賞幫助;) – JSanchez 2012-02-08 11:37:01

+0

你修改了代碼嗎?由於代碼適用於從1001到1005的標籤 – 2012-02-08 11:38:43

+0

我編輯了評論。而我的解決方案不起作用。 – JSanchez 2012-02-08 11:41:17