簡體   English   中英

如何為所有導航控制器和視圖控制器設置自定義導航欄(標題+ titleView)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM