如何让 UIPageViewController 使用过渡样式滚动?

Posted

技术标签:

【中文标题】如何让 UIPageViewController 使用过渡样式滚动?【英文标题】:How do I get UIPageViewController to use Transition Style Scroll? 【发布时间】:2019-06-26 16:49:29 【问题描述】:

关于这个话题有很多问题,而且大部分答案都过时了,所以我将发布这个问题。

使用 Swift 5.1 运行 Xcode 10.2.1。

我有一个 UIPageViewController,我已经在属性检查器中设置了转换样式来滚动。

但是,当我在模拟器中运行应用程序时,会发生 Page Curl。

是否有程序化的方法来确保过渡样式是滚动的?

【问题讨论】:

【参考方案1】:

只需添加初始化代码并以编程方式初始化过渡样式。

required init?(coder aDecoder: NSCoder) 
    super.init(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)

【讨论】:

【参考方案2】:

斯威夫特 5.0

class PortalMasterController: UIPageViewController 

override func viewDidLoad() 

    super.viewDidLoad()
    let stype = self.transitionStyle

    if stype == .scroll 

        print("scroll")

     else if stype == .pageCurl 

        print("pageCurl")
    
  

【讨论】:

这有助于显示它设置的 transitionStyle 但并没有改变它。

以上是关于如何让 UIPageViewController 使用过渡样式滚动?的主要内容,如果未能解决你的问题,请参考以下文章

旋转到横向时如何让 UIPageViewController 工作?

如何让 UIPageViewController 使用过渡样式滚动?

如何让 UIPageViewController 知道我的异步下载何时完成?

如何设置 UIPageViewController(分页类型)手势委托

如何使 UIPageViewController 像 tableview 重用单元一样重用控制器?

如何在UIPageViewController顶部添加按钮?