2011-05-03 70 views

回答

7

,那麼它是相當簡單 - 在屬性 - >底部欄中選擇導航欄。如果沒有,那麼您應該直接訪問導航欄並更改其座標。在你的視圖控制器中:

CGRect oldRect = self.navigationController.navigationBar.frame; 
self.navigationController.navigationBar.frame = CGRectMake(x, y, oldRect.width, oldRect.height); 

其中x和y是放置導航欄的座標。

+0

謝謝,這爲我做的 – 2011-08-05 09:52:53

+1

在viewWillApprear將這個把戲,它可以工作。但是,當通過從其他視圖中刪除模態視圖回來時,它會回到頂部。即使這將再次被調用,它只是停留在頂端。很奇怪! – Forrest 2013-05-24 07:11:10

+0

@Forrest http://stackoverflow.com/q/20399313/1187845 你有沒有找到任何解決方案? – 2013-12-05 11:55:22

3

試試這個:

bottomNav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height - 20, self.view.frame.size.width, 44.0)]; 
bottomNav.barStyle = UIBarStyleBlackOpaque; 
[self.parentViewController.view addSubview:bottomNav]; 
0

我覺得你可以,但我不認爲如果創建使用NIB您的觀點將通過Apple審批

@implementation UINavigationBar (CustomBar) 
- (void)drawRect:(CGRect)rect { 
    self.frame = CGRectMake(0, 436, 320, 44); 

} 
0

這裏是SWIFT版本:

var bottomNav = UINavigationBar(x: 0, y: view.frame.size.height - 20, w: view.frame.size.width, h: 44) 
bottomNav.barStyle = UIBarStyle.Black 
parentViewController?.view.addSubview(bottomNav)