2012-02-25 30 views
5

Tôi đã có đoạn mã sau:UINavigationBar xuất hiện override trong iOS 5

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbarBackBlack.png"] forBarMetrics:UIBarMetricsDefault]; 
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbarBackBlack.png"] forBarMetrics:UIBarMetricsLandscapePhone]; 
    [[UINavigationBar appearance] setTintColor:[UIColor colorWithWhite:0.72 alpha:1.0]]; 

Nhưng bây giờ tôi muốn có một nơi trong ứng dụng của tôi, nơi tôi muốn thanh điều hướng trở thành một màu khác với màu phổ quát này tôi đã thiết lập trong suốt ứng dụng. Làm cách nào tôi có thể thay đổi cài đặt này cho các cài đặt cụ thể này. Có thể không?

Trả lời

5

Bạn cũng có thể gọi setBackgroundImage trên trường hợp của thanh điều hướng.

Xem bài đăng này liên quan:

Custom UITabBar background image not working in iOS 5 and later

Bạn cũng nên đặt điều kiện nó vào việc nó phản ứng với selector rằng:

if ([navBar respondsToSelector:@selector(setBackgroundImage:)]) 
{ 
    [navBar setBackgroundImage:[UIImage imageNamed:@"tabbar_brn.jpg"]]; 
} 
else 
{ 
    // ios 4 code here 
} 
+0

thế nào về màu sắc màu? Tôi dường như không thể làm điều đó – adit

0

Chỉ cần sử dụng các phương thức xuất hiện trực tiếp trên thể hiện thanh điều hướng thay vì đối tượng proxy appearance.

[navBarInstance setBackgroundImage: ... ]; 
Các vấn đề liên quan