[英]iOS Navigation Bar Height
新手iOS開發人員,我試圖弄清楚為什么我的導航欄高度在我以編程方式更改后不會更改。 我做了以下事情:
我在didFinishLaunchingWithOptions方法中將這段代碼添加到AppDelegate.m中
[[UINavigationBar appearance] setFrame:CGRectMake(0, 0, 320, 200)];
我被告知這會創建一個更大的導航欄,但它似乎沒有這樣做。 我還在特定的視圖控制器(FirstViewController.m)中添加了以下代碼來更改字體系列,文本顏色等。
-(void)awakeFromNib {
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:(72/255.0) green:(167/255.0) blue:(192/255.0) alpha:1]];
[self.navigationController.navigationBar setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"CaviarDreams" size:28], NSFontAttributeName,
[UIColor whiteColor], NSForegroundColorAttributeName, nil]];}
我在這里做錯了嗎? 任何幫助都會很棒!!
您可以更改導航欄的高度,如果它是你的導航欄-如果它只是一個自由站立接口對象。
但是如果您使用的是UINavigationController,導航欄的高度實際上並不適合您。 UINavigationController執行視圖布局,您無法真正改變它的作用。 如果你明白我的意思,那就是使用這種內置結構的價格的一部分。
至於你的其他嘗試,你可能在錯誤的時間做它們。 例如,在awakeFromNib
,談論self.navigationController.navigationBar
是沒有意義的,因為當時它可能是nil
(你可以輕松地檢查日志記錄)。 這就是使用外觀代理更好的原因。 但你正在做的 太晚了 ; 你必須在application:didFinishLaunching...:
使用外觀代理application:didFinishLaunching...:
,因為它只影響該類型的未來實例。
基本上作為一個新手,你需要了解什么可可讓你做,什么不,並在這一過程是在正確的時刻,當做的那些事情。 這是一個很大的框架。 你和大猩猩在床上; 你需要知道大猩猩什么時候想翻身讓它翻身,否則你就會被壓扁。 隨着你越來越熟悉它,你會變得更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.