iOS 5 앱에서 테마 지원을위한 여러 클래스를 만듭니다. 내 테마는 plist에 저장되어 있으며 테마 객체에로드합니다.이 객체를 다양한 컨트롤을 초기화하는 데 앱에서 사용합니다. 내 테마 문자열로 색상을 저장 한 후 나는 UIColor로 변환하는 코드를 사용- [UICIColor colorSpaceName] : 인스턴스로 전송 된 인식 할 수없는 선택자
UIColor* color = [UIColor colorWithCIColor:[CIColor colorWithString:@"0.5 0.5 0.5 1.0"]];
이 나는 등의 네비게이션 바의 색조 색상을 설정하려고하지만 경우에, 대부분의 컨트롤을 위해 잘 작동 :
-[UICIColor colorSpaceName]: unrecognized selector sent to instance
내가 사용하지 않고 색상을 초기화하면 CIColor 예 :
//navigation bar
[self.navigationController.navigationBar setTintColor:color];
나는이 예외가 like :
UIColor* color = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];
[self.navigationController.navigationBar setTintColor:color];
모든 작품이 훌륭합니다.
어떤 단서가 원인입니까? 내가 UICIColor에 대한 많은 정보를 찾을 수는 없지만 UIColor는 구현상의 차이점이있는 CGColor 또는 CIColor의 맨 위에있는 래퍼이므로 추측합니다.
CIColor *ci_ = [CIColor colorWithString:colorString];
UIColor *color = [UIColor colorWithRed:ci_.red green:ci_.green blue:ci_.blue alpha:ci_.alpha];
// UIColor *color = [UIColor colorWithCIColor:[CIColor colorWithString:colorString]];
흥미로운 질문입니다. UIColor * color = [[UIColor alloc] initWithCIColor : [CIColor colorWithString : @ "0.5 0.5 0.5 1.0"]] ;;를 사용하면 동일한 결과를 얻게됩니까? – Darren
CoreImage Framework를 추가하고 @Darren이 제안한 것을 확인하십시오. 나를 위해 그 일하는 벌금 .. –
예 프로젝트에 CI가 포함되어 있으며이를 명시 적으로 할당하려고했습니다. 그것은 navbar color ... go figure를 설정하고 싶을 때 이외의 다른 용도로도 작동합니다. – mishod