ScrollView 对齐到中心

Posted

技术标签:

【中文标题】ScrollView 对齐到中心【英文标题】:ScrollView snap to center 【发布时间】:2018-06-26 14:55:53 【问题描述】:

我想像这个视频一样设置我的滚动视图(我知道在视频中使用 collectionview bu 出于某种原因我想将此效果转换为滚动视图)

https://www.dropbox.com/s/kj6xgj68gz6258p/ScreenRecording_06-26-2018%2019-15-43.MP4

3 重要的事情:

    滚动时必须对齐到中心 调整当前项的大小(向前项大于向后项) 迅速

更新:

var ScrollView = UIScrollView()

var arr : Array<UIColor> = [.red,.blue,.green]

override func viewDidLoad() 
    super.viewDidLoad()

    ScrollView.translatesAutoresizingMaskIntoConstraints = false
    self.view.addSubview(ScrollView)

    ScrollView.widthAnchor.constraint(equalToConstant: self.view.frame.size.width).isActive = true
    ScrollView.heightAnchor.constraint(equalToConstant: 320).isActive = true

    ScrollView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: 0).isActive = true

    ScrollView.alwaysBounceVertical = false

    ScrollView.isPagingEnabled = true
    ScrollView.contentSize = CGSize(width: 3.0 * self.view.frame.size.width, height: 320)
    ScrollView.contentOffset = CGPoint(x: view.frame.size.width, y: 0)


    ScrollView.center = self.view.center

    for i in 0..<3 
        let viewBG = UIView()
        viewBG.backgroundColor = arr[i]

        if (i == 0) 
            viewBG.frame = CGRect(x: view.frame.size.width * CGFloat(i) + 125, y: 0, width: view.frame.size.width - 100, height: 320)
         else if(i == 1) 

            viewBG.frame = CGRect(x: view.frame.size.width * CGFloat(i) + 50, y: 0, width: view.frame.size.width - 100, height: 320)
         else 

            viewBG.frame = CGRect(x: view.frame.size.width * CGFloat(i) - 25, y: 0, width: view.frame.size.width - 100, height: 320)
        



        ScrollView.addSubview(viewBG)
    

谢谢大家

【问题讨论】:

显示你迄今为止尝试过的内容。 亲爱的@AndréSlotta 我更新了我的问题。 【参考方案1】:

使用 iCarousal。它很容易实现,也可以使用 Swift 示例。

以下是链接 - https://github.com/nicklockwood/iCarousel

【讨论】:

以上是关于ScrollView 对齐到中心的主要内容,如果未能解决你的问题,请参考以下文章

除非我添加另一个 UIView,否则 ScrollView 中的 TableView 为空?

Android:ScrollView 与 NestedScrollView

向 UIScrollView 添加子视图

如何在 ScrollView 中居中 UIImageView(缩放)

渐进式滚动子scrollView

如何将 QML ScrollView 滚动到中心?