2010-08-14 98 views
4

如果我使用UINavigationController來顯示我的UINavigationBar,橫條模式下的橫條比縱向模式下的橫條更細。UINavigationBar高度和橫向模式

一切都很好,因爲我想要這種行爲,但我有一個視圖不是由UINavigationController處理的,所以我只是從界面生成器拖放了一個UINavigationBar到視圖中,但這個總是一樣的大小,我看不到一種方式告訴UINavigationBar它應該調整大小。

任何人都知道如何做到這一點?

回答

10

,您可以調整導航欄在你的UIView,的layoutSubviews方法,像這樣:

- (void)layoutSubviews { 
    [super layoutSubviews]; 

    // Let navBar tell us what height it would prefer at the current orientation 
    CGFloat navBarHeight = [navBar sizeThatFits:self.bounds.size].height; 

    // Resize navBar 
    navBar.frame = CGRectMake(0, 0, self.bounds.size.width, navBarHeight); 
} 
+0

這會將導航欄在屏幕的底部,它就不能成爲CGRectMake(0,0, self.bounds.size.width,navBarHeight)? – marimba 2011-10-19 12:36:28

+0

當我編寫代碼時,我希望它在底部,但通常是。 – 2011-10-19 20:03:57

+0

這對我不起作用。我正在做一切代碼(不是筆尖),我無法得到他的工作。有什麼建議麼? – 2012-01-30 12:37:56