2013-07-14 2 views
0

서로 다른 크기의 이미지를 나란히 표시해야하는 가로 스크롤링 UIScrollView가 있습니다. 모든 이미지는 scrollview의 높이로 크기가 조정되어야합니다. 그러면 가변 폭이 남습니다. 여기서 문제는 페이징이 없다는 것입니다. 그러나 이미지는 여전히 지연로드되어야합니다. 상황을 악화 시키려면보기가 표시되는 시점에 이미지의 URL 만 가져야하므로 이미지의 너비/높이에 대해서는 알지 못합니다.페이징없이 UIScrollView에서 다른 크기의 이미지를 지연로드합니다.

내 아이디어는 각 URL에 대한 scrollview에 고정 크기 컨테이너보기를 갖는 것입니다. 그런 다음 컨테이너보기에서 이미지를로드하고 대리자를 통해 이미지의 크기를 스크롤 뷰에 알립니다. 그런 다음 스크롤 뷰는 컨테이너보기의 크기를 변경하고 그에 따라 다른보기를 다시 레이아웃 할 수 있습니다. (그러나 당신이 이것을 할 수 없다면 스크롤입니까?)

나는 이것이가는 길인지, 이것에 대한 생각을 듣고 싶습니다. 또한 실제로 이미지를로드 할시기를 결정하는 방법은 무엇입니까? scrollview의 Contentsize 및 오프셋은 지속적으로 변경됩니다. 또한 샘플 코드 또는이 작업을 수행하는 오픈 소스 프로젝트를 보지 못했습니다. 내가 놓친 경우 알려주십시오.

+1

이것은 콜렉션 뷰의 완벽한 유스 케이스처럼 보입니다. 왜 그 중 하나를 사용하지 않습니까? –

답변

0

가장 간단한 방법은 작은 JSON 파일 (또는 다른 형식)을 이미지의 크기만으로로드하는 것입니다. 그러면 모든 크기를 미리 알 수 있습니다.

이것은 서버 측에서 GD 또는 Imagick (적어도 PHP 만 사용)과 매우 비슷합니다. 더 나은 성능을 위해 서버에 결과를 캐시하는 것을 잊지 마십시오.

0

내용 변경은 UIScrollView에서 문제가되지 않습니다. 대부분의 화면 공간을 차지하는 현재 자리 표시자가 같은 위치에 머물러 있는지 확인하면됩니다. 스크롤 뷰의 내용을 변경하여 동일한 위치를 유지합니다. 거기에 더 많은 경우 하나의 자리 표시 자 완전히 사용자가 오른쪽으로 끌면 사용자가 오른쪽으로 드래그 한 경우 왼쪽 하나 걸릴 것입니다.

내가 오해 한 경우 알려주십시오.

관련 문제