将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()
}
该代码添加页面视图到上海华
但是当我运行应用程序,页面视图占据整个屏幕。我希望它在容器视图的范围内。
答
nvm,我想通了。您可以将常规视图控制器放入故事板,然后将其嵌入到容器视图中。然后,实现代码以将页面视图控制器添加到刚刚嵌入的视图。希望这可能有助于未来的某人:)
哪里是你在页面视图控制器的视图上设置约束(或框架和自动封装掩码)以控制其大小?另外,为什么你不只是使用容器视图在故事板中嵌入页面视图控制器? –