Chỉ cần mở rộng câu trả lời mà @Luke liên kết để tạo ra một CGColorRef để chuyển tới CIColor:
CGColorRef colorRef = [UIColor grayColor].CGColor;
Bạn thay vì có thể chỉ đơn giản là vượt qua tài sản CGColor của UIColor bạn đang làm việc trên như:
NSString *colorString = [[CIColor colorWithCGColor:[[UIColor redColor] CGColor]] stringRepresentation];
Đừng quên để nhập khẩu khuôn khổ cốt lõi ảnh.
Side lưu ý, một cách nhanh chóng và dễ dàng để chuyển đổi trở lại một UIColor từ chuỗi có thể là một cái gì đó như thế này:
NSArray *parts = [colorString componentsSeparatedByString:@" "];
UIColor *colorFromString = [UIColor colorWithRed:[parts[0] floatValue] green:[parts[1] floatValue] blue:[parts[2] floatValue] alpha:[parts[3] floatValue]];
Nguồn
2012-12-15 20:14:36
Xem câu trả lời được đánh giá hàng đầu ở đây; nó có thể hỗ trợ: http://stackoverflow.com/questions/1748350/how-to-convert-uicolor-value-to-nsstring – Luke
Bạn không thể làm những gì bạn muốn mà không cần viết phương pháp của riêng bạn. Những câu trả lời mà mọi người đang chỉ cho bạn là sẽ cung cấp cho bạn một cái gì đó như "1 0 0 1" hoặc "UIDeviceRGBColorSpace 1 0 0 1". – rdelmar
Làm thế nào để bạn muốn có được tên màu này - đó là, làm thế nào bạn sẽ sử dụng nó? – rdelmar