2010-03-13 17 views
0

在我的applicationDidFinishLaunching我成立了一個UINavigationController:我在哪裏更改iPhone應用程序的導航條的高度?

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    navController = [[UINavigationController alloc] init]; 
    [[navController navigationBar] setFrame:CGRectMake(0.0,0.0,320.0,20.0)]; 
... 
} 

正如你所看到的,我試圖讓導航控制器的高度爲20px。但是,這不起作用。我會想象setFrame必須是正確的功能,但我不是在正確的地方調用它。我意識到SO上的其他問題與我的類似,但我認爲設置navigationBar高度應該可能,如果它響應setFrame ...對嗎?

此外,任何人都知道navigationBar的默認高度?

謝謝!

+0

把它放在viewWillAppear方法 – Raptor 2011-10-04 08:01:55

回答

3

導航欄的默認高度爲44像素。 如果你想改變它,嘗試添加一個類別到UINavigationBar並覆蓋setFrame:方法。

5

導航欄的默認高度爲44px。

我不知道,你應該嘗試直接調整導航欄,文檔一定阻礙它:

當與一個 導航控制器使用,只有 直接定製了一把你可以使 導航欄。 具體而言,它是好的修改 的barStyle,tintColor,和這個類, 的 半透明屬性但必須從未直接直接改變 的UIView級屬性,如 幀,邊界,α或隱藏 性質。

根據你要做的事情,在導航欄上/下面放置一個新的UIView可能會更容易。

+0

如果我的最終目標是使導航欄的高度爲20px,那麼我如何將導航控制器的內容視圖向上移動20px? – Raptor 2011-10-04 08:00:38

+0

也許你必須創建自己的和自定義的容器導航控制器。 – Ricardo 2012-04-25 16:33:22

相關問題