큰 이미지가 포함 된 잡지 앱이 있습니다. 페이지를 뒤집고 싶을 때 페이지가 바뀌기 전에 큰 지연이 있습니다. 그래서 이전, 현재 및 다음 페이지를 캐시하려고하지만 효과가 없습니다. 난 viewControllers를 추가하는 것 같아요.하지만 그것들은 그림을 그리지 않고서도 이미지 파일 만 가져옵니다. 페이지가 바뀌기 전에 백그라운드에서 이미지를 그리는 방법이 있습니까? 몇 가지 코드가있다 :UIPageView - 컬링 속도가 느림
MagazineViewController :
- (void)loadViews {
NSInteger pagesCount = [_pages count];
if (currentPage == 0) currentPage = 1;
if ([[NSThread currentThread] isCancelled]) return;
if (_curPage == nil) {
_curPage = [[PageViewController alloc] init];
PageView *pageView = [[PageView alloc] initWithFrame:self.view.bounds];
[pageView setPages:_pages];
[pageView setPage:currentPage];
[pageView setMagazineID:_magazineID];
[pageView buildFrames];
//[pageView setHidden:YES];
[_curPage setView:pageView];
//[_flipper addSubview:magazineView];
[pageView release];
[[NSNotificationCenter defaultCenter] postNotificationName:kPageLoadedNotification object:nil];
}
if (_prevPage == nil) {
if (currentPage > 1) {
_prevPage = [[PageViewController alloc] init];
PageView *pageView = [[PageView alloc] initWithFrame:self.view.bounds];
[pageView setPages:_pages];
[pageView setPage:currentPage - 1];
[pageView setMagazineID:_magazineID];
[pageView buildFrames];
[_prevPage setView:pageView];
//[_pageViewController.view addSubview:_prevPage.view];
[pageView release];
[[NSNotificationCenter defaultCenter] postNotificationName:kPageLoadedNotification object:nil];
}
}
if (_nextPage == nil) {
if (currentPage + 1 <= pagesCount) {
_nextPage = [[PageViewController alloc] init];
PageView *pageView = [[PageView alloc] initWithFrame:self.view.bounds];
[pageView setPages:_pages];
[pageView setPage:currentPage + 1];
[pageView setMagazineID:_magazineID];
[pageView buildFrames];
[_nextPage setView:pageView];
//[_pageViewController.view addSubview:_nextPage.view];
[pageView release];
[[NSNotificationCenter defaultCenter] postNotificationName:kPageLoadedNotification object:nil];
}
}
방법 "buildFrame"단지 위치와 이미지의 RECT 만들고 일을 "[자기 addSubView : 영상]". (자기 = 페이지 뷰)
이미지 그리기 :
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
if (_image != nil) [_image drawInRect:rect];
}
내가 수행하는 방법에 대한 하나의 방법을 알고 있지만 나는 나쁜 방법을 생각합니다. 이전 및 다음보기를 숨기고 설정보기를 표시하기 시작합니다. 그래서 이미지를로드하고 선회 속도를 높이는 다른 방법이 있습니까? 회신을위한 Thx.