0
我一直努力讓一個UIPageViewController到了相當一段時間的工作,而缺乏的結果是開始我發瘋...不能得到UIPageViewController工作
下面的代碼部分的教程(其中我也沒有去工作)並且離我而去。現在我試圖讓每個viewControllers查看一個標籤,以便在添加內容之前確保它可以正常工作。
- (void)viewDidLoad
{
[super viewDidLoad];
vcArray = [self createViewControllers:1];
NSLog(@"TEST1");
self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageController.delegate = self;
self.pageController.dataSource = self;
NSLog(@"TEST2 %@", vcArray);
[self.pageController setViewControllers:vcArray direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
[[pageController view] setFrame:[[self view] bounds]];
NSLog(@"TEST3");
[self addChildViewController:self.pageController];
[[self view] addSubview:[self.pageController view]];
[pageController didMoveToParentViewController:self];
NSLog(@"TEST4");
}
- (NSArray *) createViewControllers:(NSInteger)ammount{
NSMutableArray *array = [NSMutableArray new];
for (NSInteger i = 0; i <= ammount; i++) {
PageContentViewController *pageContentViewController = [PageContentViewController new];
UILabel *label = [UILabel new];
label.text = @"STRING";
pageContentViewController.view = label;
[array addObject:pageContentViewController];
}
return array;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
NSUInteger index = [self indexOfViewController:
(PageContentViewController *)viewController];
if ((index == 0) || (index == NSNotFound)) {
return nil;
}
index--;
return [vcArray objectAtIndex:index];
}
- (UIViewController *)pageViewController:
(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
NSUInteger index = [self indexOfViewController:
(PageContentViewController *)viewController];
if (index == NSNotFound) {
return nil;
}
index++;
if (index == [vcArray count]) {
return nil;
}
return [vcArray objectAtIndex:index];
}
- (NSUInteger)indexOfViewController:(PageContentViewController *)viewController
{
return [vcArray indexOfObject:viewController.dataObject];
}
你能看到我失蹤了嗎? 我已經經歷了太多的教程和計算器問題,這給我留下了只有更糊塗了......
由於提前, 湯姆
所以代碼看起來一般?我做你所說的話並回報! – Tom
它大多看起來不錯。你正在做其他方法調用應該爲你做的很多事情(例如,只需要TEST3和TEST4之間的中間線)。 'setViewControllers:...'不會設置所有應該可以瀏覽的視圖控制器,只是可見的視圖控制器。您最終需要提供數據源,並且由於您已將'self'設置爲您的數據源,因此您應該從數據源方法返回敏感值。 – Jesper
我似乎還需要了解一些東西。我不知道數據源是什麼......立即查找它!如果你能用幾句話給出一個簡短的解釋,那將非常棒!你可以看到可瀏覽的瀏覽器是什麼意思?他們是否有看法? – Tom