2013-04-13 35 views
1

我有很多與更改UINavigationBar元素相關的代碼。我必須在幾乎每個視圖控制器中使用它,並且每次需要使用視圖的標題設置自定義的UILabeltitleLabel自定義UINavigationBar和DRY規則

什麼是在許多視圖中使用此代碼的最佳方式,而不是重複相同的代碼?我應該創建另一個類,然後將其導入到視圖控制器中,並使用該類中的方法每次設置標題?

回答

1

我會創建一個UIViewController的子類與所有的'常見'的東西,並具有所有特定的視圖控制器繼承。

2

您可以通過執行全局設置外觀設置:

UINavigationBar *navigationBar = [UINavigationBar appearance]; 
[navigationBar setBackgroundImage:[UIImage imageNamed:@"nav-background"] forBarMetrics:UIBarMetricsDefault]; 

我把這個代碼片段從的appdelegate開源切達應用程序:

https://github.com/nothingmagical/cheddar-ios/blob/master/Classes/CDIAppDelegate.m

希望這有助於!

+0

問題是我需要在我的'UINavigationBar'上設置一個自定義的'UILabel',並根據視圖設置它的值。 – syntagma