2013-10-13 39 views
8

Tôi có một UINavigationBar có hình nền được thiết lập trong lớp ủy nhiệm ứng dụng, vì vậy bạn có thể hình dung tại sao tôi không muốn Thanh điều hướng bị mờ. Tôi tin rằng nó là thủ phạm cho việc này: http://imgur.com/v3e0NIoThiết lập UINavigationbar trên iOS 7Translucent: NO crashes app

Anyways khi tôi đặt dòng mã này:

[[UINavigationBar appearance] setTranslucent:NO]; 

trong appdelegate tôi gặp phải lỗi này:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, B for appearance setter, _installAppearanceSwizzlesForSetter:' 

Ngay cả khi tôi cố gắng cá nhân làm cho mọi UINavigationbar không trong suốt trong mỗi lớp, tôi vẫn có thanh màu trắng ngu ngốc đó trong hình ảnh! Không có lỗi nào được đưa ra, điều này khiến tôi tự hỏi liệu mã có hoạt động không, hoặc nếu tính trong suốt không phải là vấn đề của tôi?

Cảm ơn!

EDIT:

Đây là mã tôi đang sử dụng trong appdelegate của tôi để làm cho nền tùy chỉnh cho NavBar:

[[UINavigationBar appearance] setTitleTextAttributes: @{ 
                 UITextAttributeTextColor: [UIColor whiteColor], 
                 UITextAttributeTextShadowColor: [UIColor blackColor], 
                 UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], 
                 UITextAttributeFont: [UIFont fontWithName:@"Code-Bold" size:23.0f] 
                 }]; 
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO]; 

UIImage *navBarImage = [[UIImage imageNamed:@"menubar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 15, 5, 15)]; 

[[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault]; 

Ngay cả khi tôi làm cho nền của UIViewController đen, thanh màu trắng là vẫn còn đó .. Tôi bây giờ rất nghi ngờ minh bạch là vấn đề của tôi!

+0

Tôi không thích làm một Navigationbar tùy chỉnh .. – user1064249

Trả lời

0

tôi bạn sử dụng giao diện Builder bạn có thể vô hiệu hóa translucen từ file

xib này -> Attributes Inspector -> mô phỏng Metrics và thiết lập thuộc tính Top Bar để Opaque

Hoặc thử

self.navigationController .navigationBar.barStyle = UIBarStyleBlackOpaque;

Hoặc Hoặc Hoặc kiểm tra bài này https://stackoverflow.com/a/19128721/2876717

+0

tôi m bằng cách sử dụng bảng phân cảnh: ( – user1064249

+0

Tôi đã thử UIBarStyleBlackOpaque và mặc dù pin trắng và thời gian đẹp, thanh màu trắng vẫn còn ở đó. Tùy chọn bảng phân cảnh không có ở đó vì tôi đang sử dụng Điều hướng Contro ller. – user1064249

5

Ty này và đặt nó trong viewdidload của mỗi lớp viewcontrollers thay vì:

self.navigationController.navigationBar.translucent = NO; 
+1

tôi đã thử điều đó, nhưng màu trắng vẫn hiển thị. Làm cho tôi nghĩ rằng nếu mờ thực sự là vấn đề của tôi .. – user1064249

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