2011-05-13 3 views
1

아이폰 용 애플 리케이션을 개발하고 있어요. 나는 매우 유용한 것을 발견 한 Apress의 책을 따른다. 그러나 완벽한 것은 없으므로 일부 문제는 잘 설명되지 않고 건너 뛴 것입니다. 응용 프로그램 중 하나에서 나는 pickerview의 다섯 구성 요소 각각에 5 개의 이미지를 할당해야합니다. 하지만 내 질문은 우리가 UImage의 인스턴스를 사용하지만 UIImageView를 피커에 표시하는 이유는 무엇입니까?왜 UIImage 자체가 아니라 UIImage보기

답변

3

위 질문과 마찬가지로 UIPickerView의 구성 요소로 UIImageView 대신 UIImage을 사용할 수없는 이유를 묻습니다. 우리가 M-V-C 그에게 M (모델)의 관점에서 이야기하면

UIImageNSObject 클래스의 서브 클래스입니다. 모델 자체는 사용되기 전까지는 아무것도 아닙니다. 반면에

UIImageView는 M-V-C는 그래서 그 내용에 대한 모델을 사용 V (보기)을 의미 UIView의 서브 클래스입니다.

그래서 두 가지가 있으며 대체 할 수 없습니다. 당신이 UIPickerView의 클래스 문서를 통해 이동하는 경우 또한, 당신은 지정된 행의 구성 요소에 대한보기를 구성하는 방법

- (UIView *)viewForRow:(NSInteger)row forComponent:(NSInteger)component 

을 가지고 있습니다. 그래서 우리는 뷰 (UIImageView)가 필요하고 모델 클래스 (UIImage)는 필요 없다는 것을 의미합니다. 여기에 UIView의 하위 클래스를 반환 할 수있는 구성 요소가 있습니다.

사과의 설명서를 참조하십시오.

감사합니다,

+0

당신의 포괄적 인 explanation.It를 들어, 강탈 감사하면 자신이 모든 일을 발명하는 경우로 완전히 MVC의 원리를 이해 한 것 같다. 나는 그들이 당신만큼 유능 해지기를 바랍니다. –

1

마찬가지로 사진을 배치하려면 프레임이 있어야합니다. UIImage를 배치 할 장소 홀더로 UIImageView가 필요합니다.

0

UIImage는 파일에서로드 된 이미지 일뿐입니다. 보기는 터치 이벤트를 처리 할 수 ​​있으며보기 만 표시됩니다.