【问题标题】:How do make a UIScrollview only show one subview at a time如何使 UIScrollview 一次只显示一个子视图
【发布时间】:2017-06-06 16:01:49
【问题描述】:

我遵循了一个教程:https://www.youtube.com/watch?v=1_daE3IL_1s,它教你如何在 swift 3 中制作一个类似快速聊天的菜单,每次滑动时都会在屏幕上放置一个新的子视图,但它是唯一的,你需要再次滑动以获取下一个视图。本教程是在 swift 2 中制作的,但是当我更新到 swift 3 时,滚动视图现在就像正常滚动视图一样流畅地滚动。有没有办法解决这个问题?

主视图控制器代码:

class ViewController: UIViewController {

    @IBOutlet weak var scrollView: UIScrollView!

    override func viewDidLoad() {
        super.viewDidLoad()

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

        V1.didMove(toParentViewController: self)
        self.addChildViewController(V1)
        self.scrollView.addSubview(V1.view)

        V2.didMove(toParentViewController: self)
        self.addChildViewController(V2)
        self.scrollView.addSubview(V2.view)

        V3.didMove(toParentViewController: self)
        self.addChildViewController(V3)
        self.scrollView.addSubview(V3.view)

        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.scrollView.contentSize = CGSize(width: self.view.frame.width*3 , height: self.view.frame.size.height)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

【问题讨论】:

    标签: ios swift xcode uiscrollview swift3


    【解决方案1】:

    启用分页:

    override func viewDidLoad() {
        super.viewDidLoad()
        scrollView.isPagingEnabled = true
        // ...
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    相关资源
    最近更新 更多