2012-05-23 17 views
9

Trong appdelegate của tôi, tôi sử dụng để thiết lập UIAppearance Navigationbar của riêng tôi với mã này:Làm thế nào để thoát khỏi UIAppearance khi không cần thiết?

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault]; 

Nhưng một số quan điểm của ứng dụng của tôi không cần nó. Làm thế nào tôi có thể loại bỏ nó vì vậy tôi chỉ có thể sử dụng IB trong các quan điểm liên quan?

Trả lời

12

Bạn không cần sử dụng proxy. Chỉ cần có thanh điều hướng thực sự, trông sẽ khác và đặt màu trực tiếp trên đó.

[navigationBarInstance setTintColor:[UIColor blackColor]]; 
[navigationBarInstance setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault]; 

Bạn cũng có thể đặt cả hai giá trị thành nil, nơi bạn muốn lại kiểu chuẩn. (được kiểm tra bởi Ben Clayton).

[navigationBarInstance setTintColor:nil]; 
[navigationBarInstance setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; 
+0

Đặt hình nền và màu thành 'nil' không thực sự đặt kiểu trở về mặc định. Thử nghiệm. –

+1

Không hoạt động trên cá thể 'MFMailComposeViewController' (Xem https://alpha.app.net/stuffmc/post/5028278) –

+0

và vì vậy bạn đã downvote? một câu hỏi chung của nó ở đây, không phải về mailcomposer .. – calimarkus

Các vấn đề liên quan