2011-07-26 6 views
0

내 앱에는 수정 된 ELCImagePicker를 통해 사용자가 선택한 imageViews가 포함 된 scrollView가 관련됩니다. 선택한 사진은 일반적으로 5 MB +의 고화질 사진이되며 사용자는 대개 한 번에 적어도 12 개의 사진을 선택합니다. 현재 다음과 같이 사진을로드 중입니다.IPhone SDK : 지연로드 문제가 발생했습니다. scrollView pictures

-(void)loadViewWithPage: (int)page 
{ 
    if (page > 0 && page < [Album count]) { 
     [scrollView addSubview:[Album objectAtIndex:page]]; 
    } 
} 

-(void)scrollViewDidEndDecelerating:(UIScrollView *)sender 
{ 
    CGFloat pageWidth = scrollView.frame.size.width; 
    int page = floor((scrollView.contentOffset.x - pageWidth)/pageWidth) + 1; 

    [self loadViewWithPage:page + 1]; 
} 

여기서 앨범은 사진이 imageViews로 저장되는 곳입니다.

사용자가 앱을 중단하고 사진을 한 번에 하나씩 스크롤하려고하지 않을 때 유용합니다.하지만 전체 선택을 스크롤 할 때 비참하게 실패합니다. 각 사진 이후에 사용자가 멈추지 않으면 페이지가 비어 있습니다. scrollViewDidScroll ala PageControl 샘플을 사용하여 시도했지만 사진이 모두 거대하기 때문에 지연이 매우 잘 보입니다.

사진을 원활하게로드 할 수있는 방법이 있습니까?

+0

전문가는 아니지만 누구나 이것을 CATiledLayer의 일반적인 용도로 생각합니까? – Ved

답변

0

필자는 비슷한 상황을 겪었고 별도의 스레드에서 이미지를로드 한 다음 주 스레드에서 메소드를 호출하여 표시하는 NSOperation의 사용자 정의 하위 클래스를 작성하여이를 처리했습니다. 이미지가 로딩되는 동안

나는 데 도움이 UIActivityView

희망을 표시.

0

scrollViewDidEndDecelerating을 사용하는 경우 스크롤보기가 중지 될 때만 실행됩니다. 나는 그것에 대해 scrollViewDidScroll를 사용할 것이다. (예제에서도 사용됨)

관련 문제