2017-10-22 26 views
5

Tôi có Bộ Điều hướng, nơi tôi tô màu thanh điều hướng với một số màu và tôi muốn thanh trạng thái (hiển thị biểu tượng mạng, biểu tượng wifi, v.v.) để sử dụng cùng màu.Thanh trạng thái không có cùng màu với Thanh Điều hướng

Vì vậy, trong Info.plist, tôi đã đặt View controller-based status bar appearance equal thành NO. Và trong Target > Deployment Info tôi đặt Status Bar Style > Light:

enter image description here

tôi có thể thấy rằng các thanh trạng thái hiện thực bằng cách sử dụng phong cách "ánh sáng" như văn bản là ánh sáng/trắng. Nhưng nền thanh trạng thái vẫn không giống với thanh Điều hướng như bên dưới. Làm thế nào tôi có thể sửa lỗi này?

enter image description here

Trả lời

6

Bạn phải sử dụng như thế này:

if let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as? UIView { 
    statusBar.backgroundColor = UIColor.purple 
} 

Nếu bạn muốn thay đổi màu sắc trên thanh trạng thái trên tất cả các ứng dụng, sử dụng nó trong appdelegate->didFinishLaunchingWithOptions. Hoặc nếu bạn muốn thay đổi cho bất kỳ màn hình cụ thể nào, hãy gọi nó theo số viewDidLoad cụ thể.

+1

Nó hoạt động, nhưng tôi không chắc đây có phải là giải pháp tối ưu hay không. Khi tôi thay đổi kiểu thanh trạng thái thành "ánh sáng", nó sẽ tự động giả sử màu của Thanh Điều hướng, phải không? – rgamber

+0

@rgamber, bạn có tìm thấy giải pháp tối ưu hơn không? – sbru

+1

Thật không may là không. Không có gì khác dường như làm việc, vì vậy tạm thời phải dùng đến điều này. Nếu bạn tìm thấy bất kỳ cách nào khác, xin vui lòng gửi nó ở đây! – rgamber

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