2017-09-22 32 views
5

Ứng dụng của tôi đang sử dụng thanh điều hướng màu đỏ (2) với các nút và văn bản màu trắng. Khi tôi sử dụng bộ chọn liên hệ hệ thống (3) thanh trạng thái có màu đỏ. Khi tôi sử dụng bộ chọn tài liệu (1) UIDocumentPickerViewController thì thanh điều hướng có màu trắng. Làm thế nào tôi có thể thay đổi màu sắc của thanh điều hướng hoặc văn bản?UIDocumentPickerViewBộ điều hướng thanh nút màu

Khi tôi sử dụng mã bên dưới, nó hoạt động nhưng nó cũng thay đổi thanh điều hướng của tôi.

UINavigationBar.appearance().tintColor = .red 

nhờ sự giúp đỡ

mã:

func open() { 
     UINavigationBar.appearance().barTintColor = .green 
     let documentsController = UIDocumentPickerViewController(documentTypes: makeDocumentTypesList(), in: .import) 
     documentsController.delegate = self 
     viewControllerProvider.getViewController().present(documentsController, animated: true, completion: nil) 
    } 

navigation bar

+0

sử dụng 'UINavigationBar.appearance(). BartintColor = .green' –

+0

hiển thị một số mã bổ sung –

+0

Khi tôi đặt barTintColor nó thay đổi màu sắc của xem gốc điều khiển. Không có hiệu lực tại bộ chọn tài liệu. –

Trả lời

1

Đây là giải pháp duy nhất tôi tìm thấy:

UINavigationBar.appearance().tintColor = ... some color 
    _viewController?.present(documentPicker, animated: true) 

Theo hiểu biết của tôi nó không phải là chỉ có thể đặt màu thanh chỉ màu màu tint (màu văn bản). Để giữ màu tô màu cho phần còn lại của dự án, tôi đặt lại nó trong khung nhìnWillAppear của trình điều khiển xem cơ bản.

2

Sử dụng setTitleTextAttributes

UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.white], for: .normal) 

see my answer here

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