swift 以编程方式将UIScrollView滚动到Swift中的子UIView(子视图)的顶部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 以编程方式将UIScrollView滚动到Swift中的子UIView(子视图)的顶部相关的知识,希望对你有一定的参考价值。

extension UIScrollView {

    // Scroll to a specific view so that it's top is at the top our scrollview
    func scrollToView(view:UIView, animated: Bool) {
        if let origin = view.superview {
            // Get the Y position of your child view
            let childStartPoint = origin.convertPoint(view.frame.origin, toView: self)
            // Scroll to a rectangle starting at the Y of your subview, with a height of the scrollview
            self.scrollRectToVisible(CGRectMake(0, childStartPoint.y, 1, self.frame.height), animated: animated)
        }
    }

    // Bonus: Scroll to top
    func scrollToTop(animated: Bool) {
        let topOffset = CGPoint(x: 0, y: -contentInset.top)
        setContentOffset(topOffset, animated: animated)
    }

    // Bonus: Scroll to bottom
    func scrollToBottom() {
        let bottomOffset = CGPoint(x: 0, y: contentSize.height - bounds.size.height + contentInset.bottom)
        if(bottomOffset.y > 0) {
            setContentOffset(bottomOffset, animated: true)
        }
    }

}

以上是关于swift 以编程方式将UIScrollView滚动到Swift中的子UIView(子视图)的顶部的主要内容,如果未能解决你的问题,请参考以下文章

swift 以编程方式将UIScrollView滚动到Swift中的子UIView(子视图)的顶部

以编程方式更改 UIScrollView 的框架(Swift 5)

UIScrollView 在 Swift 中以编程方式

在 Swift 中以编程方式创建垂直 UIScrollView

在 Swift 中以编程方式添加时,UIScrollView 根本不滚动?

Swift:以编程方式添加视图时,UIScrollView 的可滚动内容大小不明确,而不使用 IB