2012-06-20 51 views
5

Tôi muốn phát triển UINavigationBar và cũng đặt màu nền cho điều đó. Tôi đã tạo ra các UINavigationBar nhưng tôi có vấn đề với thiết lập backgroundcolor. bất cứ ai hãy giúp tôi. Cảm ơn.Đặt màu nền cho UINavigationBar

Trả lời

14
[self.navigationController.navigationBar setBackgroundColor:[UIColor redColor]]; 

Hãy thử như thế này. Tôi nghĩ rằng nó sẽ hữu ích cho bạn.

Chỉnh sửa: đã cập nhật mã để thực sự biên dịch.

+0

không biết tại sao nhưng Xcode không bật lên 'barTintColor' khi tôi nhập nó – fnc12

2

Bạn có thể sử dụng thuộc tính màu của UINavigationBar để thay đổi màu của nó. Kiểm tra điều này article về nó. Ngoài ra còn có UIAppearance, cho phép bạn thay đổi nền của mọi ứng dụng UINavigationBar, điều này khá mạnh mẽ theo ý kiến ​​của tôi. Bạn có thể kiểm tra this.

2

Bạn có thể thiết lập các màu sắc thái bằng cách sử dụng navbar.tintColor = [UIColor redColor];

Xem tài liệu tham khảo ở đây: apple docs

2

Hãy thử điều này:

navigationBar.tintColor = [UIColor blackColor]; 
1

Bạn có thể tùy chỉnh một UINavigationBar với propertys sau:

  • @property(nonatomic, assign) UIBarStyle barStyle
  • @property(nonatomic, retain) UIColor *tintColor
  • setBackgroundImage:forBarMetrics:
  • @property(nonatomic, copy) UIColor *backgroundColor

Để biết thêm phương pháp và propertys hãy kiểm tra các tài liệu tham khảo lớp của UINavigationBarUIView

0
self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
+0

Xuống bình chọn vì không chính xác. tintColor là màu sẽ được sử dụng cho các mục nút màu nền trước, ví dụ: văn bản "quay lại", dấu ngoặc kép "<" và bất kỳ văn bản nút nào khác ... bạn muốn sử dụng barTintColor để đặt màu bg của thanh. – n13

13

Trong iOs mới này nó như thế nào nó hoạt động:?

self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque; 
self.navigationController.navigationBar.barTintColor =[UIColor colorAzulNavegacion]; 
+1

Điều này làm việc cho tôi trên iOS7! Cảm ơn! –

+0

UIBarStyleBlackOpaque không được chấp nhận trong iOS 9 – user1366265

2

self.navigationController .navigationBar.translucent = false

self.navigationController .navigationBar.barTintColor = UIColor.redColor()

self.navigationController? .navigationBar.barStyle = UIBarStyle.BlackTranslucent

+0

Về cơ bản là chính xác, ngoại trừ BlackTranslucent không được chấp nhận. – n13

6

Tôi phải tìm kiếm điều này mỗi lần để thêm câu trả lời của tôi ở đây (Swift). Mã bên dưới đang đặt cài đặt này cho tất cả các thanh điều hướng trong ứng dụng. Bạn cũng có thể đặt từng cái này trên các thanh điều hướng riêng lẻ nếu bạn muốn.

Bạn có thể đặt mờ, màu tiêu đề văn bản, màu nền (điều này được gọi là barTintColor, nhờ, Apple!), Và nút thanh mục foreground màu, như vậy:

// Title text color Black => Text appears in white 
    UINavigationBar.appearance().barStyle = UIBarStyle.Black 

    // Translucency; false == opaque 
    UINavigationBar.appearance().translucent = false 

    // BACKGROUND color of nav bar 
    UINavigationBar.appearance().barTintColor = UIColor.redColor() 

    // Foreground color of bar button item text, e.g. "< Back", "Done", and so on. 
    UINavigationBar.appearance().tintColor = UIColor.whiteColor() 
+0

Điều này sẽ được chọn là câu trả lời hay nhất – duan

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