2011-03-01 4 views
3

자리 표시 자 이미지를 사용하는 올바른 방법은 무엇입니까?전체 이미지를로드하기 전에 자리 표시 자 이미지 사용

하위 뷰로 이미지가있는 UIScrollView를 채우고 싶지만 스크롤 뷰를 표시하기 전에 모든 전체 이미지를로드하려면 이전 장치가 무거웠습니다.

사용자가 해당 contentOffset으로 스크롤 할 때 전체 이미지로로드 할 수 있도록 자리 표시 자 이미지를 어떻게 사용할 수 있습니까?

ALAsset의 축소판을 사용해 보았지만 크기 조정은 끔찍한 것처럼 보입니다.

답변

2

이미지 타일에 UIImageView 하위 뷰를 사용한다고 가정합니다. 처음에는, 당신과 같이 당신의 UIImageView의 파단을 채울 수 있습니다 :

for each tile location in myScrollView area: 
    [myScrollView addSubview:[UIImageView 
     initWithImage:[UIImage imageNamed:@"placeholder.png"]]]; 

열쇠는 여기에 imageNamed는 장면합니다 (SDK의 문서를 참조) 뒤에 캐싱을 수행하고, 하나의 실제 placeholder.png 이미지가 메모리에 존재하는 것입니다 .

UIScrollView 이벤트에 대한 위임자에서 사용자가 내용을로드하지 않은 새 타일을 스크롤하고 안정화하면로드 프로세스를 설정하고 해당 위치에서 UIImageView를 바꿉니다 (자리 표시 자 제거, 적절한 하나).

분명히, 메모리를 절약하기 위해 어느 시점에서 오래된 이미지 타일을 언로드해야 할 수도 있습니다.

+0

좋아요. 자리 표시 자 이미지 하나를 사용하면 사진 앱이 각 이미지의 저품질 이미지를 얻은 다음 올바른 이미지로로드됩니다. 사진 앱 스크롤보기에서 매우 빠르게 스 와이프하면이 흐릿한 이미지가 전체 이미지로로드됩니다. – jarryd

+0

아, 저해상도 미리보기를 원하십니까? 귀하의 질문에 분명하지 않았습니다 (하지만, 지금 암시 됨). 나는 사진 앱이 저해상도 미리보기를 저장하는 것으로 추측하고있다. 일종의 필터링으로 완전히 끔찍하게 보이지 않게 만든다 (예 : 일종의 흐림 효과). – occulus

+0

흐리게 처리하려면 다음을 확인하십시오. http://iphonedevelopment.blogspot.com/2010/08/uiimage-blur.html – occulus