2012-06-13 28 views
7

Tôi đang xây dựng giao diện trong xây dựng giao diện và thấy rằng có nhiều bảng màu có sẵn để lựa chọn phông chữ và màu nền:xCode 4.3 làm thế nào để lập trình truy cập các bảng màu của trình tạo giao diện?

background color>other>color widget 3rd tab > Palette 

Một số trong số họ có những cái tên kỳ lạ như "Ice", "Sky", vv

từ mã của tôi tôi có quyền truy cập vào

[UIColor blueColor]; 
[UIColor cyanColor]; 

có cách nào cho tôi để truy cập vào các màu sắc bổ sung bằng tên từ mã của tôi? Ví dụ:

//Is there a method call that does something like this? 
[Color colorNamed:@"Ice" inPalette:@"Apple"]; 

Cảm ơn bạn!

Trả lời

9

Bạn sẽ cần nhận các giá trị RGB của màu bạn cần từ màu bút chì. Bạn có thể truy cập chúng theo cách đó, "Sky" sẽ là: [UIColor colorWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0];

Hoặc thêm UIColor danh mục thêm tất cả các màu sắc bạn cần: [UIColor skyColor];

Trong UIColor+Colors.h add:

@interface UIColor (Colors) 
+(UIColor *)skyColor; 
@end 

Trong UIColor+Colors.m add :

@implementation UIColor (Colors) 
+(UIColor *)skyColor 
{ 
    static UIColor *color = nil; 
    if (!color) 
    color = [[UIColor alloc] initWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0]; 
    return color; 
} 
@end 
+0

Cảm ơn bạn đã đề xuất. Tôi đặc biệt cố gắng tránh phải suy nghĩ về các giá trị RGB và thay vào đó chỉ cần chọn từ một tên bảng màu được xác định trước. –

+2

Bạn không phải "suy nghĩ" về các giá trị. Nếu bạn muốn chúng từ các bút chì màu được xác định trước, hãy mở ngăn màu sắc, chọn tab bút chì màu và bút chì bạn muốn, sau đó chọn tab RGB và các giá trị RGB của bút chì đó được xác định cho bạn. – mccrager

+7

Ở đây, một người nào đó đã làm tất cả các công việc chân lý cho các danh mục: https://github.com/rob-brown/RBCategories/blob/master/UIColor+RBExtras.m – mccrager

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