我使用Apple的模板在Xcode 5中创建了一个基于页面的应用程序。在哪里可以找到有用的信息让我理解以下代码?
- (void)viewDidLoad
{
[super viewDidLoad];
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageViewController.delegate = self;
DataViewController *startingViewController = [self.modelController viewControllerAtIndex:0 storyboard:self.storyboard];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
self.pageViewController.dataSource = self.modelController;
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
CGRect pageViewRect = self.view.bounds;
self.pageViewController.view.frame = pageViewRect;
[self.pageViewController didMoveToParentViewController:self];
self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;
}
答案 0 :(得分:1)
NSArray *viewControllers = @[startingViewController]; // <--what does it mean???
UIPageViewController
文档中解释了所有内容,尤其是here in the setViewControllers:direction:animated:completion:
method。 请参阅解释每种可能情况的表格。
特别是,UIPageViewController
呈现一个或两个视图控制器,具体取决于它们是单面还是双面。这就是为什么属性是一个数组,因为它期望显示一个或两个ViewController的NSArray
。
[编辑]当您编辑帖子以添加有关代码的每一行的问题时,我们无法在一个简单的答案中回答所有问题。这里的概念太多了。
您可能需要获得一本关于iOS编程的书,以解释这里的所有基本概念,或阅读Apple网站上的“View Controller Programming Guide”文档以及所有其他Apple文档关于每个概念,例如:
在一个SO问题中解释和提问真的很多,这也是关于CocoaTouch和iOS编程的一些基础知识的很多问题,在专门的教程或书籍和每个主题的编程指南中有更好的解释每个!! 强>