【发布时间】:2013-10-28 10:53:58
【问题描述】:
我用四个UIViewController 创建了一个UIPageViewController
使用情节提要,但我需要最后一个是UINavigationController。
有一种方法可以将UINavigationController 添加到UIPageViewController
否则将UIViewController 转换为UINavigationController
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.dataSource = self ;
[self setViewControllers:@[self.pagina1]direction:UIPageViewControllerNavigationDirectionReverse animated: YES completion:nil ];
UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"carbon.jpg"]];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];
// [backgroundImage release];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (ViewControllerPagina1 *) home1 {
if( !_home1 )
{
UIStoryboard *storyboard = self.storyboard ;
_home1 = [storyboard instantiateViewControllerWithIdentifier:@"Prima pagina"] ;
}
return _home1 ;
}
- (ViewControllerPagina2 *) home2 {
if( !_home2 )
{
UIStoryboard *storyboard = self.storyboard ;
_home2 = [storyboard instantiateViewControllerWithIdentifier:@"Seconda pagina"] ;
}
return _home2 ;
}
- (ViewControllerPagina3 *) home3 {
if( !_home3 )
{
UIStoryboard *storyboard = self.storyboard ;
_home3 = [storyboard instantiateViewControllerWithIdentifier:@"Terza pagina"] ;
}
return _home3 ;
}
- (UIViewController *) pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
UIViewController *nextViewController = nil ;
if( viewController == self.home1 ) nextViewController = self.home2 ;
else if( viewController == self.home2 ) nextViewController = self.home3 ;
else if( viewController == self.home3 ) nextViewController = self.home1 ;
return nextViewController ;
}
- (UIViewController *) pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
UIViewController *nextViewController = nil ;
if( viewController == self.home1 ) nextViewController = self.pagina3 ;
else if( viewController == self.home2 ) nextViewController = self.home1 ;
else if( viewController == self.home3 ) nextViewController = self.home2 ;
return nextViewController ;
}
其实“home3”是一个UIViewController,
我需要将它转换成UINavigationController
有什么想法吗?
【问题讨论】:
标签: ios uinavigationcontroller uipageviewcontroller