2012-02-05 61 views
6

Tôi đã tìm kiếm trên trang này và cách khác để đặt thay đổi màu của thanh điều hướng, tôi đã xem các ví dụ nhưng không hoàn toàn là những gì tôi cần.Thay đổi màu sắc của thanh điều hướng bằng cách sử dụng Xcode

trên đại biểu ứng dụng của tôi, tôi có:

@synthesize window; 
@synthesize tabBarController; 
@synthesize navigationController; 
@synthesize navigationController1; 
@synthesize navigationController2; 
@synthesize viewController; 
@synthesize viewController2; 
@synthesize viewController3; 

#pragma mark - 
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions {  

    // Override point for customization after application launch. 


    // Set the tab bar controller as the window's root view controller and display. 
self.window.rootViewController = self.tabBarController; 
[self.window makeKeyAndVisible]; 


    return YES; 
} 

Khi tôi nhập mã self.navigationController.navigationBar setTintColor:[UIColor blackColor] trên trên, nó chỉ thay đổi một trong các bộ điều khiển chuyển hướng của tôi, nhưng không phải là người tôi cần.

Tôi có 7 mục trên thanh tabbar và khi tôi nhấn "THÊM ...", tôi sẽ xem bảng với các mục khác không vừa trên màn hình chính, thanh điều hướng được thêm tự động và không có vấn đề gì những gì tôi làm tôi không thể thay đổi màu sắc thanh điều hướng này, tôi có thể thay đổi những cái mà tôi có @synthesize nhưng không thể tự động nhập vào.

Ai đó có thể vui lòng cho tôi biết cách thay đổi thanh điều hướng được đặt tự động không?

Trả lời

17

Bạn có thể thực hiện việc này bằng proxy xuất hiện. Nếu bạn thiết lập các màu sắc như thế này nó sẽ áp dụng cho tất cả các thanh điều hướng trong ứng dụng:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 
+1

Chỉ muốn đề cập đến proxy xuất hiện chỉ có sẵn trong iOS 5. – Randall

+0

Như chính phương thức setTintColor. Nếu bạn cần công cụ này để làm việc trên iSO4 bạn sẽ cần một cách tiếp cận khác nhau. Đây là một cuộc thảo luận liên kết đến một số giải pháp: http://stackoverflow.com/questions/9150956/customizeappearance-compatibility-on-others-ios/9151033#9151033 –

+0

Tuyệt vời, đây là những gì tôi đang tìm kiếm. Cảm ơn nhiều. – Derek

3

Đối với iOS 6 và thấp hơn:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 

Đối với iOS 7 trở lên:

[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]]; 

Đặt trong phương thức này trong AppDelegate.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
Các vấn đề liên quan