【问题标题】:how to scroll to first view from last in uiscrollview如何在uiscrollview中从最后一个滚动到第一个视图
【发布时间】:2016-02-04 06:15:29
【问题描述】:

我在滚动视图下创建了三个视图。 V1、V2 和 V3。我想从 V3 滚动到 V1,反之亦然。我该怎么做?我的代码如下。

let V1 : View1 = View1 (nibName: "View1", bundle: nil)
let V2 : View2 = View2 (nibName: "View2", bundle: nil)
let V3 : View3 = View3 (nibName: "View3", bundle: nil)

self.addChildViewController(V1)
self.scroll1.addSubview(V1.view)
V1.didMoveToParentViewController(self)

self.addChildViewController(V2)
self.scroll1.addSubview(V2.view)
V2.didMoveToParentViewController(self)

self.addChildViewController(V3)
self.scroll1.addSubview(V3.view)
V3.didMoveToParentViewController(self)


var V2Frame : CGRect = V2.view.frame
V2Frame.origin.x=self.view.frame.width
V2.view.frame = V2Frame

var V3Frame : CGRect = V3.view.frame
V3Frame.origin.x = 2 * self.view.frame.width
V3.view.frame = V3Frame


self.scroll1.contentSize = CGSizeMake(self.view.frame.width * 3, self.view.frame.size.height)

【问题讨论】:

    标签: ios xcode swift uiscrollview swift2


    【解决方案1】:

    您可以简单地在您的UIScrollViewcontentOffset 上应用动画

        func animateScrollViewTo(point:CGPoint){
          UIView.animateWithDuration(0.25) { () -> Void in
            self.scrollView.contentOffset = point
          }
        }
    

    之后,当您需要滚动时,只需调用上面的函数,例如:

    self.animateScrollViewTo(self.V1.frame.origin)
    

    或者你可以像这样直接调用你想要滚动的点

    self.animateScrollViewTo(CGPoint(x: 0, y: 0))
    

    【讨论】:

    • 它不工作。我无法从最后一个视图(即 V3)滚动回 V1。
    猜你喜欢
    • 1970-01-01
    • 2018-03-11
    • 2011-06-23
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多