【问题标题】:Changing the scrolling direction inside a scrollView更改 scrollView 内的滚动方向
【发布时间】:2016-09-21 15:39:55
【问题描述】:

我使用本教程创建了一个滑动导航:https://www.youtube.com/watch?v=3jAlg5BnYUU

我正在创建一本书,所以我有 65 个 xib 文件。我的代码示例是:

    let Pg1 = ViewControllerPg1(nibName: "ViewControllerPg1", bundle: nil)

    self.addChildViewController(Pg1)
    self.scrollView.addSubview(Pg1.view)
    Pg1.didMoveToParentViewController(self)

    let Pg2 = ViewControllerPg2(nibName: "ViewControllerPg2", bundle:nil)

    var frame1 = Pg2.view.frame
    frame1.origin.x = self.view.frame.size.width
    Pg2.view.frame = frame1

    self.addChildViewController(Pg2)
    self.scrollView.addSubview(Pg2.view)
    Pg2.didMoveToParentViewController(self)

    let Pg3 = ViewControllerPg3(nibName: "ViewControllerPg3", bundle:nil)

    var frame2 = Pg3.view.frame
    frame2.origin.x = self.view.frame.size.width * 2
    Pg3.view.frame = frame2

    self.addChildViewController(Pg3)
    self.scrollView.addSubview(Pg3.view)
    Pg3.didMoveToParentViewController(self)

我有这些变量导致 65,然后我有:

self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 65,
self.view.frame.size.height - 66);

所有内容都在 scrollView

我有两个问题, 页面从第一个到最后一个从右到左。但是,我需要从左到右。我需要使用按钮在“页面”之间移动,我已经尝试过使用:showViewControllerpushViewController 都没有工作。

提前谢谢你

【问题讨论】:

    标签: ios swift xcode uiscrollview


    【解决方案1】:

    为什么要制作这么多 VC 变量?每个班级真的那么不同吗?您可能会为您尝试执行的所有操作重用一个 VC,并依赖该 VC 的单独实例以不同方式呈现内容。

    不过,要回答您的问题,为了手动分页滚动视图,您可以使用 UIScrollView 的scrollRectToVisible 方法来实现:

    https://developer.apple.com/reference/uikit/uiscrollview/1619439-scrollrecttovisible

    祝你好运!

    【讨论】:

    • 您好,非常感谢您的回答,但我还有一个问题,如果您能回答,对我有很大帮助。我所有的 CGRect 变量都在某个 ViewController 中,而按钮在单独的一个中。我如何在函数中使用它们?
    • 有很多方法可以实现。一个是您可以对拥有所有数据的 VC 进行子类化,以便孩子可以访问。更好的方法可能是设计数据,以便在 dataSource 类型的对象中轻松访问它。我不太了解您的代码结构,但访问该数据应该是微不足道的。
    • 你好!首先非常感谢您已经提供了这么多帮助。其次,如果您能给我指出一个好的教程,我不知道如何继承 ViewControllers,我将不胜感激。我已经尝试在线搜索无济于事...再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多