我创建了一个UIPageViewController
,其中包含四个UIViewController
使用故事板,但我需要的是最后一个是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
有什么想法吗?
答案 0 :(得分:0)
不确定你在这里想做什么。但是,如果您需要导航控制器内部的视图控制器,请创建导航控制器,将视图控制器添加到其视图控制器阵列,然后将导航控制器(现在包含视图控制器)添加到页面控制器。
我没有真正使用故事板。我以编程方式创建视图控制器。这很容易做到,我相信比故事板更灵活。