標籤:控制器 ima def named 總結 不同的 view 背景圖 creat
UITabBarController下面常常需要為多個ViewController設定導覽列樣式,總結了一下遇到過的為UINavigationBar添加背景圖片的幾種簡單思路以設定背景圖片為例:第一種,直接在視圖裡面單獨設定每個視圖的UINavigationBar,適合每個頁面需要不同的導覽列樣式。[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];第二種:為各個頁面建立一個共同的BaseNavigationController,設定好背景圖片。其他視圖控制器將它繼承下來,這也可以達到一個整體設定效果。[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];第三種,在TabBarController裡面寫一個方法,通過遍曆所有視圖的導覽列來設定。記得調用這個方法- (void) createNavigationBar{//遍曆所有視圖的導覽列for (UINavigationController *navi in self.viewControllers){[navi.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];}} 第四種:直接更改UINavigationBar的預設樣式,這種方式和前一種的區別在於前者只是改變五個視圖的導覽列,而後者是作用在UINavigationBar上。[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg_all-64"] forBarMetrics:UIBarMetricsDefault];
ios - UINavigationBar添加背景圖片的幾種簡單思路