다른 viewController를 추가하는 UIPageViewController가 있습니다. viewControllers 내 배열에 추가 한 후UIPageViewController에서 viewController 언로드
[viewControllersArray addObject: infoViewController];
: 그 ViewControllers 내가이 같은이 배열에 viewControllers를 추가 viewControllersArray = [[NSMutableArray alloc] init];
배열에있는이 위의 코드는 모두에서의 viewDidLoad에서 이루어집니다
NSArray *initialViewControllers = [[NSArray alloc] initWithObjects:[viewControllersArray objectAtIndex:0], nil];
[self setViewControllers:initialViewControllers
direction:UIPageViewControllerNavigationDirectionForward
animated:YES
completion:^(BOOL finished){
NSLog(@"call back success");}];
내 UIPageViewController.
로드를 들어 내가 가진이 배열은 그 기능이 같은 사용 <UIPageViewControllerDataSource>
을 형성 :
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
if ([viewControllersArray containsObject:viewController]) {
NSInteger index = [viewControllersArray indexOfObject:viewController];
if (index < [viewControllersArray count] && index > 0) {
return [viewControllersArray objectAtIndex:(index - 1)];
}
}
return nil;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
if ([viewControllersArray containsObject:viewController]) {
NSInteger index = [viewControllersArray indexOfObject:viewController];
if (index < [viewControllersArray count] - 1) {
return [viewControllersArray objectAtIndex:(index + 1)];
}
}
return nil;
}
이제 문제가 무엇인지, 당신이 슬쩍 때, 다음 viewcontrollers 부하 등하지만를 얻을 수 있다는 것입니다 언 로딩하지 마라. 그래서 메모리를 절약하기 위해 이미 통과 한 뷰 컨트롤러를 언로드하는 방법을 찾고 있습니다. 다시 스 와이프하면 다시로드됩니다.
"그 (것)들을 즉시 창조하십시오"당신은 무엇을 의미합니까? 모든 viewcontrollers for 루프를 사용하여 클래스에 대한 viewDidLoad 메서드를 추가하고 배열에 추가합니다. –
내 수정 된 답변보기 뷰 컨트롤러 _once를 alloc-init하기 만하면됩니다. 미리 배열에 모든 것을 추가하지 마십시오 : 사용자는 결코 그것을 스 와이프하지 않을 수 있으며 뷰 컨트롤러를 볼 필요가 없을 수도 있습니다. 데이터 소스 메소드에서 실제로 필요한 경우에만이를 작성하십시오. –
정확히 무슨 뜻인지 잘 모르겠습니다. 작은 샘플 프로젝트를 만들었습니다. http://www.2shared.com/file/rbsxMLgz/pageScroll.html 어떻게 모든 viewController를 추가하는지 보여줍니다. 이 방법을 사용하는 것은 좋지만 오른쪽으로 스 와이프하면 다음 페이지가 추가되지만 UIPageViewController에서 제거되지 않고 메모리에 유지됩니다. –