【问题标题】:Adding a UIPageViewController into an already existing view controller with a frame smaller than the entire view controller将 UIPageViewController 添加到框架小于整个视图控制器的现有视图控制器中
【发布时间】:2016-02-08 07:13:40
【问题描述】:

我在一个嵌入页面视图控制器的视图控制器 (FirstViewController) 中有一个容器视图。将它放在容器视图中的目的是限制页面视图的边界。这是我的代码:

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()
}

此代码将页面视图添加到超级视图

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

【问题讨论】:

  • 您在页面视图控制器的视图上设置约束(或框架和自动调整大小掩码)以控制其大小的部分在哪里?另外,为什么不直接使用容器视图将页面视图控制器嵌入故事板中?

标签: ios swift uipageviewcontroller uicontainerview


【解决方案1】:

nvm,我想通了。您可以将常规视图控制器放在情节提要上,然后将其嵌入到容器视图中然后实现代码以将页面视图控制器添加到刚刚嵌入的视图中。希望这可能对将来的人有所帮助:)

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2016-01-03
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2013-04-26
    相关资源
    最近更新 更多