2016-03-10 29 views
0

我想創建自己的導航控制器類,以便我可以使用任何我想使用相同的自定義屬性。爲了實現這一點,我試圖實現從UINavigationController繼承的新的導航控制器類。使用自定義代碼,我可以更改背景圖片,但無法創建自定義欄按鈕項目。創建自己的導航控制器iOS

下面您可以看到我的自定義導航控制器。

//Some navigation properties to be customized 
     let navBar = self.navigationBar 
     let navItem = self.navigationItem 

     //Background image creation 
     let image = UIImage(named: "usttab.jpg") 

     //Assigning background image 
     navBar.setBackgroundImage(image, forBarMetrics: .Default) 

     //Customizing navigation item 
     navItem.backBarButtonItem = UIBarButtonItem(title: "Geri", style: UIBarButtonItemStyle.Plain, target: nil, action: nil) 

缺點長篇故事我的後退按鈕的標題不變。

分別在視圖控制器中分配back bar按鈕項屬性,但將相同代碼複製到每個視圖控制器是沒有意義的。因此,我想創建自己的導航控制器類,以便在任何需要的地方使用。

請讓我知道你是否需要關於我的代碼的更多信息。

感謝,

+0

您希望跨UIViewController的子類具有相同的屬性。爲什麼不具有UIViewController的基類子類? – beyowulf

+0

對不起,遲到了。你提出的建議確實有意義@beyowulf,我嘗試的第一件事是通過實現它來定製導航控制器。創建一個基類的視圖控制器並將其用作基類是非常有意義的。我會嘗試。 –

+0

@beyowulf你可以寫你的評論作爲答案,以便當任何其他人想要搜索相同的問題時也可以很容易地看到它,以便我可以接受。再次感謝 –

回答

2

如果要設置跨越的UIViewController的多個子類相同的屬性,你可以創建的UIViewController的基礎子類,子類化基地的子類。這將允許共享這些屬性,並允許您避免重複代碼。