目前我有这个代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Create the data model
_pageTitles = @[@"Over 200 Tips and Tricks", @"Discover Hidden Features", @"Bookmark Favorite Tip", @"Free Regular Update"];
_pageImages = @[@"page1.png", @"page2.png", @"page3.png", @"page4.png"];
// Create page view controller
self.pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageViewController"];
self.pageViewController.dataSource = self;
PageContentViewController *startingViewController = [self viewControllerAtIndex:0];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
// Change the size of page view controller
self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 30);
[self addChildViewController:_pageViewController];
[self.view addSubview:_pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
}
这使用了我的支持文件中的4张图片!但是我需要这个函数来读取一个新场景 - 换句话说,我如何编程来替换图像“example:page1.png”以获得“View Controller Scene!?
答案 0 :(得分:0)
这是一个很好的教程How To Create UIPageViewController Using Storyboard。您基本上需要更改数据源和/或修改viewControllerAtIndex:方法。
如果您只是想要更改图像,只需将自己的图像添加到目标(将它们拖入Xcode导航器或文件 - >添加文件),可能会将复制图像复制到项目文件夹中,然后进行调整数组中图像的名称。
如果您将图像添加到Xcode 5中的图像资源(它们必须是PNG),方法是将它们拖动到图像资源屏幕,然后您可以省略文件扩展名.png,只需参考图像资源中的图像名称即可。您还应该通过将图像移动到正确的位置(1x或2x)来调整图像是视网膜还是非视网膜。
要为最后一页(索引3)返回不同的VC,您可以执行以下操作:
- (UIViewController *)viewControllerAtIndex:(NSUInteger)index
{
if (([self.pageTitles count] == 0) || (index >= [self.pageTitles count])) {
return nil;
}
// Create a new view controller and pass suitable data.
if (index == 3) {
SomeSpecialContentViewController *someSpecialContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeSpecialContentViewController"];
// configure outlets of this VC
// ...
return someSpecialContentViewController;
} else {
PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];
// configure outlets of this VC
// ...
return pageContentViewController;
}
}