将UIPageViewController添加到一个框架小于整个视图控制器的现有视图控制器中

问题描述:

我在一个视图控制器(FirstViewController)中嵌入了页面视图控制器的容器视图。在容器视图中使用它的目的是限制页面视图的边界。这里是我的代码:将UIPageViewController添加到一个框架小于整个视图控制器的现有视图控制器中

private var pagesViewController : UIPageViewController? 
override func viewDidLoad() { 
    let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("PageController") as! UIPageViewController 
    pageController.dataSource = self 

    let firstController = getItemController(0)! 
    let startController: NSArray = [firstController] 
    pageController.setViewControllers(startController as! [UIViewController], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil) 

    pagesViewController = pageController 
    addChildViewController(pagesViewController!) 
    self.view.addSubview(pagesViewController!.view) 
    pagesViewController!.didMoveToParentViewController(self) 

    let appearance = UIPageControl.appearance() 
    appearance.pageIndicatorTintColor = UIColor.grayColor() 
    appearance.currentPageIndicatorTintColor = UIColor.whiteColor() 
    appearance.backgroundColor = UIColor.darkGrayColor() 
} 

该代码添加页面视图到上海华

但是当我运行应用程序,页面视图占据整个屏幕。我希望它在容器视图的范围内。

+0

哪里是你在页面视图控制器的视图上设置约束(或框架和自动封装掩码)以控制其大小?另外,为什么你不只是使用容器视图在故事板中嵌入页面视图控制器? –

nvm,我想通了。您可以将常规视图控制器放入故事板,然后将其嵌入到容器视图中。然后,实现代码以将页面视图控制器添加到刚刚嵌入的视图。希望这可能有助于未来的某人:)