使用带有页面视图控制器的容器

时间:2016-04-26 21:39:40

标签: swift uiviewcontroller uipageviewcontroller uicontainerview

对于我当前的应用程序,我正在设置一个UIPageViewController来交换3个不同的视图。我不打算添加任何导航栏,因此我添加了一个关闭按钮以将用户导航回主屏幕。但是,我希望关闭按钮的位置固定在右上角。所以我在ViewController中使用了一个容器,用图像和文本调用另一个视图控制器,如下所示:enter image description here

此处,页面视图控制器指向具有嵌入式segue到查找页面内容控制器的容器视图控制器。

目前在我所拥有的Page View Controller的相应课程中; // MARK: - 其他方法

func getViewControllerAtIndex(index: NSInteger) -> LookUpPageContentViewController
{
    // Create a new view controller and pass suitable data.
    let pageContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("containerLookUp") as! LookUpPageContentViewController

    pageContentViewController.strTitle = "\(arrPageTitle[index])"
    pageContentViewController.strPhotoName = "\(arrPagePhoto[index])"
    pageContentViewController.strMainTitle = "\(arrMainTitle[index])"
    pageContentViewController.pageIndex = index

    pageContentViewController.view.backgroundColor = UIColor.dondeBeigeColor()

    return pageContentViewController
}

然而,此方法指向查找页面内容视图控制器。如何更改此方法以调用Container View Controller,然后调用查找页面内容控制器。

1 个答案:

答案 0 :(得分:0)

通过阅读你的问题假设结构

-> PageViewController
 -> ContainerView 
  -> LookupView controller

所以在点击时,你应该首先加载containerView。如下所示

ContainerViewController*containerView =[self.storyboard instantiateViewControllerWithIdentifier: CONTAINER_VIEWCONTROLLER_ID];
[self.navigationController pushViewController:switchView animated:YES];

在ContainerViewController viewDidLoad方法上,执行此操作

LookUpPageContentViewController*lookUpView = // Get the Appropirate LookupView
[self.pageViewController setViewControllers:@[lookUpView] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

这将为您提供所需的功能。希望这对您有帮助。

相关问题