2012-06-18 35 views
5

Tôi cố gắng để thay đổi màu sắc từ một UIPopoverControler trên iOS 5. Để làm như vậy, tôi sử dụng một lớp con của UIPopoverBackgroundView mà tôi gán cho popover của tôi như thế này:Thay đổi UIPopoverController màu (và nút màu sau)

self.popover.popoverBackgroundViewClass = [KWPopoverBackgroundView class]; 

Cửa sổ bật lên của tôi hiện có màu đen như tôi đã xác định trong lớp KWPopoverBackgroundView của mình nhưng tôi vẫn gặp sự cố với giao diện. Nút quay lại (Huy chương) của navigationController bên trong cửa sổ bật lên của tôi vẫn có màu xanh dương. Tôi muốn tất cả mọi thứ thống nhất trong màu đen. Làm cách nào để loại bỏ màu xanh này?

enter image description here

tôi đã cố gắng để thay đổi tintColor của navigationController.navigationBar của tôi, nhưng tất nhiên là popover Does'nt chăm sóc về điều đó. Có cách nào để sửa lỗi này trong iOS 5.0 không? (Ứng dụng của tôi là trên AppStore, tôi không muốn một hack xấu xí để sửa lỗi này) Cảm ơn bạn.

+0

không làm việc trong iOS7 – Jacky

Trả lời

12

Ok, tôi chỉ tìm thấy cách thay đổi màu sắc màu từ nút quay lại UINavigationController (hoặc các UIBarButtonItems khác) bên trong UIPopoverController.

Với UIPopoverBackgroundView, bạn chỉ có thể thay đổi hình nền và mũi tên. Để thay đổi các mục khác xuất hiện, bạn phải sử dụng UIAppearance với một cái gì đó như sau.

// Set the UIBarButtonItem(s) inside UIPopoverController class to dark gray 
[[UIBarButtonItem appearanceWhenContainedIn:[UIPopoverController class], nil] 
         setTintColor:[UIColor colorWithWhite:0.1f alpha:1.0f]]; 

black popover with black back button item

+0

Tôi đã tìm kiếm với nhiều từ khóa và sắp sửa từ bỏ và tìm một hình ảnh để sử dụng từ tìm kiếm hình ảnh của Google. Kỳ lạ thay, đó là tìm kiếm hình ảnh của Google đã mang đến cho tôi giải pháp tuyệt vời này. Cảm ơn bạn đã trả lời câu hỏi của riêng bạn với điều này! – acedanger

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