2011-04-27 6 views
0

페이징이 활성화 된 UIScrollView가 있습니다. 모든 이미지는 처음에로드되었고 UIImageViews에 추가되었지만 이미지가 많을수록 메모리 문제가있어서 이미지가 아직 설정되지 않은 경우 스크롤하는 동안 다음 이미지를로드하기로 결정했습니다. 메모리 경고가 발생하면 현재 이미지를 제외한 모든 이미지를 제거합니다.UIImageView에 이미지를로드하는 동안 UIScrollView가 멈 춥니 다

문제는 스크롤하면 몇 밀리 초 동안 스크롤됩니다.

나는 이미지를로드

UIImage *image = [UIImage imageNamed:@"path/to/image.png"]; 

을 사용하고 있습니다. imageWithContentsOfFile 메서드를 사용하면 시간이 많이 걸립니다.

완전히로드 될 때까지 픽셀 화 된 이미지를 기본 Photoapp에 표시하는 방법이 있습니까?

미리 답변 해 주셔서 감사합니다.

답변

0
[UIImage imageNamed:] 

이미지를 캐시하므로 imageWithContentsOfFile보다 좋습니다. 이러한 이미지는 표 셀에 표시되기 때문에 아마 그럴 필요는 없습니다. 파일 시스템의 이미지 크기는 무엇입니까? UIImageView에 UIImage를 넣고 스케일링에 의존한다면 내 생각 엔 스크롤하는 동안 스케일링이 발생합니다. 파일 시스템의 각 이미지에 대한 축소판을 만들어 사용할 수 있습니까?

+0

이미지가 UIScrollView에 표시됩니다. 이미지의 해상도는 960x480 (iphone 4 res)이며 축소됩니다. 나는 아이폰 4를 위해 @ 2x로 두 번째 이미지를 추가하는 것을 제외하고는 하나의 이미지를 사용하는 것이 더 쉽다고 생각했다. 축소 이미지를 만드는 것은 나에게 생각하기에는 많은 시간을 소비한다. 다른 방법이 없습니까? –

+0

UIImageView를 사용하여 이미지 크기를 조절하는 경우 효과적으로 어쨌든 메모리에 축소판을 만들 수 있습니다. 스크롤하는 동안 그런 일이 일어나기를 원하지 않습니다. 나는 응용 프로그램 시작과 같은 다른 시간에 이것을 찾으려고 노력할 것입니다. pixelized 이미지로드에 관해서는, 나는 이것을 행하는 어떤 마법의 방법을 모른다. 이미지의 저해상도 버전을 생성하고 먼저로드 한 다음 고해상도로 페이드 인합니다. 저해상도 버전은 간단히 확대 축소판 일 수 있습니다. – ax123man

관련 문제