UIPageViewController 作为子视图,横向双页,纵向单页
Posted
技术标签:
【中文标题】UIPageViewController 作为子视图,横向双页,纵向单页【英文标题】:UIPageViewController as subview with double page in landscape and single page in portrait 【发布时间】:2020-01-07 13:02:47 【问题描述】:我的任务:我需要用TransitionStyle.pageCurl
实现UIPageViewController
。在纵向它应该在横向显示单页和双页。还应该可以在两页上(当双页时)而不是一次只在一个上进行捏合缩放。
到目前为止我的解决方案:我有一个包含UIScrollView
的UIViewController
。然后我将UIPageViewController
视图添加到我的滚动视图中,如下所示:self.scrollView.addSubview(self.pageViewController.view)
。
我的问题:当我旋转设备时,func pageViewController(_ pageViewController: UIPageViewController, spineLocationFor orientation: UIInterfaceOrientation) -> UIPageViewController.SpineLocation
没有被调用,因此我无法在双页和单页之间切换,或者我错过了什么?
【问题讨论】:
【参考方案1】:我找到了类似问题的答案:https://***.com/a/34868768/2501509。我的问题是我没有保留UIPageViewController
本身,而只保留了它的视图。通过将页面 viewController 添加到我的 viewController 我的问题得到了解决:self.addChild(self.pageViewController)
。
【讨论】:
以上是关于UIPageViewController 作为子视图,横向双页,纵向单页的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 8 中将 ViewController 的 View 作为子视图添加到 UIPageViewController 会在显示/隐藏时产生奇怪的 UINavigationBar
UIPageViewController 与滚动视图奇数插入反弹
滚动样式 UIPageViewController 中的多个可见页面