2014-12-20 19 views
8

Tôi cố gắng tìm cách xử lý nhiều mục tiêu (triển khai nhiều ứng dụng từ một dự án), tôi không biết cách xác định UIColor và sử dụng nó trong bảng phân cảnh (tôi có thể làm tốt cho UIImage). Ý tưởng của tôi là chuyển giá trị của màu này theo mục tiêu bằng các macro, ai đó biết nếu nó có thể?iOS - Bảng phân cảnh - Sử dụng màu xác định theo chương trình trong bảng cấu hình của bảng phân cảnh

Có lẽ định nghĩa một màu:

var myColor : UIColor 
#ifdef target1 
myColor = UIColor(red: 249.0/255, green: 249.0/255, blue: 249.0/255, alpha: 1.0) 
#ifdef target2 
myColor = UIColor(red: 210/255, green: 100/255, blue: 90/255, alpha: 1.0) 
#endif 

Hoặc lặp lại kịch bản để có một kịch bản bởi mục tiêu. Sử dụng info-target1.plist, info-target2.plist?

Và gọi biến này "mycolor" trong kịch bản

Nếu không có giải pháp, tôi nghĩ rằng tôi cần phải đặt tất cả các thuộc tính: màu sắc, font chữ, kích thước, lập trình và không có trong kịch bản này.

Tôi cần làm theo phương pháp nào?

Cảm ơn

Trả lời

2

Nếu không có giải pháp, tôi nghĩ rằng tôi cần phải đặt tất cả các thuộc tính: màu sắc, font chữ, kích thước, lập trình và không có trong kịch bản này.

Không có cách nào để thay đổi màu sắc hoặc các thuộc tính khác trong cảnh bảng phân cảnh dựa trên các tham số biên dịch. Thông thường, đúng cách để tiếp cận một cái gì đó như thế này là sử dụng UIAppearance để ghi đè lên các thuộc tính mà bạn muốn thay đổi. Tóm lại, bất kỳ lớp nào thực hiện giao thức UIAppearance đều có thể cung cấp một đối tượng proxy cho phép bạn điều chỉnh các đặc điểm mà lớp sẽ sử dụng. Ví dụ: nếu bạn muốn điều chỉnh màu của thanh điều hướng trong ứng dụng, hãy xác định myColor có điều kiện như bạn đã thực hiện và sau đó sử dụng proxy xuất hiện UINavigationBar để đặt tông màu:

[[UINavigationBar appearance] setBarTintColor:myColor]; 
Các vấn đề liên quan