2017-09-20 35 views
7

Tôi muốn đặt màu nền thanh điều hướng của DocumentPicker giống như phần còn lại của ứng dụng.UIDocumentPickerViewController - Cách đặt màu thanh điều hướng

let filePicker = UIDocumentPickerViewController(documentTypes: ["public.content"], in: .import) 
    filePicker.delegate = self 
    filePicker.navigationController?.navigationBar.barTintColor = self.theme.navigationBarColor 

    self.present(filePicker, animated: true, completion: nil) 

không hoạt động.

điều

khác tôi đã cố gắng:

Sử dụng UINavigationBar.appearance().backgroundColor = self.theme.navigationBarColor - không hoạt động và có vẻ quá nhiều như một cách giải quyết thay vì một cách thích hợp nếu nó hoạt động.

Chỉnh sửa: Ngay bây giờ ứng dụng của chúng tôi được thiết kế lại để sử dụng màu chính làm màu văn bản thanh điều hướng và có cùng màu nền với DocumentPicker. Câu trả lời vẫn sẽ được đánh giá cao.

+1

Trước iOS 11, bạn có thể làm UINavigationBar.appearance(). BackgroundColor = UIColor.black và nó hoạt động tốt. Điều này có vẻ là một lỗi trong iOS 11. Tôi đang ở trong tình trạng khó khăn nơi thanh điều hướng có màu trắng và các nút thanh điều hướng (như "Hủy") có màu trắng, vì vậy chúng ẩn. – JohnnyC

Trả lời

1

Điều này sẽ thay đổi màu của văn bản như "Hủy".

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

và điều này sẽ thay đổi màu mũi tên trở lại.

UIButton.appearance().tintColor = UIColor.blue 

Đừng quên đặt lại màu ban đầu sau khi đóng bộ chọn nếu cần.

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