[英]How do I set custom navigation bar(title + titleView) for all navigation controllers and view controller?
我有一個選項卡式應用程序,其中包含選項卡中的導航控制器和視圖控制器。 所有這些都使用相同的導航控制器導航欄:后退按鈕+徽標圖像。 目前,我將此代碼放在每個視圖控制器中:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.title = @"Back";
UIImage *headerImage = [UIImage imageNamed:@"Logo.png"];
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:headerImage] autorelease];
}
恕我直言,這不是最好的方法。 我正在考慮使用UIViewController的類別並覆蓋viewDidLoad方法,但是每個視圖控制器都有一些額外的代碼要在viewDidLoad中執行,所以我猜覆蓋不是解決方案。 還有什么其他方法?
您可以創建UIViewController
的子類, MyViewControllerWithBackButtonAndLogo
(您可以提供更好的名稱)然后實現viewDidLoad
來設置導航項。 使所有視圖控制器繼承自此基類。 然后只需確保視圖控制器在自己的實現中調用[super viewDidLoad]
。
另請注意,要設置后退按鈕標題,不應更改導航項的title
屬性,而應設置適當的backBarButtonItem
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.