2015-10-26 18 views
5

Chúng tôi đang xây dựng một ứng dụng iOS, một phần sử dụng UIWebView s để hiển thị một số yếu tố giao diện người dùng. Tôi nhận thấy rằng các màu được xác định trên Bảng phân cảnh được hiển thị khác với màu sắc với các giá trị giống như trong Chế độ xem web. Ảnh chụp màn hình sau đây hiển thị ba màu mẫu trên bảng phân cảnh và trong trình mô phỏng: #00C2F0, #00843C#FF008F.iOS: Màu được xác định trong Trình tạo giao diện khác với màu trong Chế độ xem web

shifted colors Interface Builder and Emulator

Các ô vuông bên trái hiển thị mỗi màu render CSS background-color trong một UIWebView, hình vuông bên phải hiển thị màu sắc bổ nhiệm làm nền cho một UIView trực tiếp thông qua giao diện Builder.

Khi chụp ảnh màn hình và đo lường giá trị màu trong Photoshop, màu sắc hiển thị trong UIWebView là chính xác theo quy định (ví dụ: chính xác phù hợp với các giá trị hex màu đưa ra ở trên), trong khi màu sắc thể hiện qua các UIView được thay đổi.

Tôi đã đọc một số bài đăng về màu "sai" trên iOS, giải thích vấn đề này do quản lý màu sắc với mục tiêu hiển thị hình ảnh nhất quán trên tất cả các thiết bị (ví dụ: here hoặc here). Trong khi điều này nghe hoàn toàn hợp lý, nó không giải thích sự hiển thị không nhất quán thông qua các điều khiển khác nhau.

Tôi có thể làm gì để đạt được màu sắc phù hợp giữa chế độ xem gốc và màu sắc của iOS được hiển thị trong một số UIWebView không?

Trả lời

8

Cuối cùng tôi đã giải quyết được vấn đề của mình: Lý do không phải là UIWebView-cụ thể như tôi đã giả định, nhưng do thực tế, các màu được gán thông qua Bộ dựng giao diện nằm trong không gian màu sRGB. Thay đổi thành "Generic RGB" và sau đó gán lại giá trị màu hex đã giải quyết được vấn đề của tôi.

color picker color space

Rất hữu ích là this câu hỏi và câu trả lời (tôi cảm thấy cờ trùng lặp là phi lý).

+0

Đối với tôi, tôi đã có hai UIViewControllers trong một Storyboard, nơi màu nền có cùng mã, nhưng nhìn khác nhau trực quan. Tôi đã nghiên cứu độ mờ đục và alpha ... và bị kẹt. Điều này giải quyết nó. Tôi không chắc làm thế nào họ đã thiết lập khác nhau ở nơi đầu tiên. – davew

+0

Tôi nghĩ thiết bị RGB hoạt động tốt nhất. Các ứng dụng như bộ chọn màu sau đó truy lục giá trị như được định nghĩa trong bảng phân cảnh xcode. –

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