使用scrollViewDidScroll移动ChildViewController的SubView

时间:2018-03-10 17:43:43

标签: ios swift uitableview uiviewcontroller uiscrollview

我使用viewController来处理两个ChildViewController,每个UITableView包含一个viewController。是否可以根据当前UILabel的{​​{1}}设置scrollView.contentOffset的子视图的位置y(例如ChildViewController)?

它已经适用于自己的子视图,..

func scrollViewDidScroll(_ scrollView: UIScrollView) {

        self.testConstt.constant = scrollView.contentOffset.y

    }

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用条件语句观察正确的滚动视图。我假设孩子们的滚动视图是表视图,所以你可以这样做:

let tableViewA = UITableView(...)
let tableViewB = UITableView(...)
let someScrollView = UIScrollView()

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if scrollView == tableViewA {
        // observe a specific table view's scroll view and do something
    } else if scrollView == someScrollView {
        // observe a specific scroll view and do something
    }
}

请注意,UITableViewUIScrollView的子类,因此scrollViewDidScroll(_ scrollView:)可以对它们进行相同的处理。