2010-01-17 5 views
4

질문은 간단합니다. UIImage를 NSCopying 프로토콜을 준수해야하지만이 작업을 시작하기 위해 어디에서 시작해야하는지 전혀 알지 못합니다.UIImage가 NSCopying 프로토콜을 따르도록하십시오.

나를 도울 수있는 포인터가 있습니까?

미리 감사

+0

에서 당신은 5 개 질문, 그러나 어떤 대답을 거절했습니다. 이것은 Stackoverflow의 정신에 부합하지 않으며, 다른 사람들이 당신을 도울 시간을 갖지 못하게 할 것입니다. –

+1

당신 말이 맞아요, 당신의 의견을 보내 주셔서 감사합니다. –

답변

10
- (id) copyWithZone: (NSZone *) zone 
{ 
    return [[UIImage allocWithZone: zone] initWithCGImage: self.CGImage]; 
} 
+3

나는 이것이 꽤 오래되었음을 알고 있지만 여기서 제시된 해결책은 잠재적 인 캡 인서트를 복사하지 않는다. 캡 인셋이 있는지 여부를 알 수있는 방법이 없습니다. UIImage 문서는 이미지가'resizableImageWithCapInsets :'를 통해 생성되지 않을 때'capinsets' 속성이'UIEdgeInsetsZero'를 반환 할 것이라고 말합니다. (이 경우 이미지 전체가 뒤엉켜 있습니다.) 그러나 누군가가 명시 적으로'capInsets'를 0으로 설정하면'..Zero'를 반환합니다 (이 경우 이미지가 바둑판 식으로 배열됩니다). 그래서 현재 UIImage가 NSCopying with capinsets을 준수 할 가능성이 없습니다. – floriankrueger