UISmrollView 이미지를로드하는 다음 UIScrollView 추가합니다. 이미지는 로컬 이미지이며 높이가 약 5000 픽셀입니다.큰 이미지 블록 스레드 UIScrollview UIImageView 추가
문제는 내가 UIImageView를 UIScrollView에 추가하면 스레드가 차단된다는 것입니다. 이 작업을 수행 할 때 이미지가 표시 될 때까지 UIScrollView를 스크롤 할 수 없으므로 분명합니다.
다음은 예제입니다.
UIScrollView *myscrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1004)];
myscrollview.contentSize = CGSizeMake(7680, 1004);
myscrollview.pagingEnabled = TRUE;
[self.view addSubview:myscrollview];
NSString* str = [[NSBundle mainBundle] pathForResource:@"APPS.jpg" ofType:nil inDirectory:@""];
NSData *imageData = [NSData dataWithContentsOfFile:str];
UIImageView *singleImageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:imageData]];
//the line below is the blocking line
[scrollView addSubview:singleImageView];
스크롤러를 차단하는 마지막 줄입니다. 나가 버릴 때 이미지가 물론 보이지 않는다는 사실을 제외하고 모든 것이 완벽하게 작동합니다.
멀티 스레딩을 사용하는 것이 UIView 작업에서 작동하지 않는다는 것을 상기 한 것처럼 보입니다. 그래서 궁금한 점이 많습니다.
친절한 도움에 감사드립니다.
의견을 보내 주셔서 감사합니다. 잡지 응용 프로그램의 일부이므로이 작업을 수행하고 있습니다. 이미지는 실제로 스냅하지 않고 수직 스크롤을 필요로하는 기사입니다. –
감사합니다. 나는 여전히 Uiscrollview가 UI를 막지 않고 콘텐츠를 렌더링 할 수 있어야한다고 믿는다 ... –
사용자가 스크롤 할 때 약간의 이미지를 미리로드해야하므로 사용자가 모두 매우 멋지게 보입니다. UIScrollViewDelegate 프로토콜과 scrollViewDidScroll과 같은 메시지를보십시오. 그것으로 당신은 사용자 활동을 제어 할 수 있으며 항상로드/언로드해야하는 것을 알게됩니다. –