我在iOS 5應用程序中爲主題支持創建了幾個類。我的主題存儲在plist中,並將它們加載到一個Theme對象中,我用它來初始化各種控件。我保存的顏色作爲我的主題字符串,然後我用這個代碼把它們轉換成的UIColor:- [UICIColor colorSpaceName]:發送到實例的無法識別的選擇器
UIColor* color = [UIColor colorWithCIColor:[CIColor colorWithString:@"0.5 0.5 0.5 1.0"]];
這適用於大多數的控制,但是當我嘗試設置導航欄這樣的色調顏色:
//navigation bar
[self.navigationController.navigationBar setTintColor:color];
我得到這個異常:
-[UICIColor colorSpaceName]: unrecognized selector sent to instance
當我初始化而不能使用CIColor如像這樣:
UIColor* color = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];
[self.navigationController.navigationBar setTintColor:color];
所有的作品都很棒。
任何線索是什麼造成這種情況?我找不到有關UICIColor的更多信息,但我猜測,因爲UIColor只是CGColor或CIColor的封裝,所以存在實現差異。
有趣的問題。我想知道,如果你使用UIColor * color = [[UIColor alloc] initWithCIColor:[CIColor colorWithString:@「0.5 0.5 0.5 1.0」]];你會得到相同的結果嗎? – Darren
你有沒有添加CoreImage Framework並檢查@Darren建議的內容。對我來說工作很好.. –
是的,我把項目中的CI包含在內,我也試着明確地分配它。除了當我想設置導航欄顏色時,它可以用於任何其他用途...去圖。 – mishod