【问题标题】:Move SubView of ChildViewController using scrollViewDidScroll使用 scrollViewDidScroll 移动 ChildViewController 的子视图
【发布时间】:2018-08-19 02:35:59
【问题描述】:

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

它已经可以与自己的子视图一起正常工作了,..

func scrollViewDidScroll(_ scrollView: UIScrollView) {

        self.testConstt.constant = scrollView.contentOffset.y

    }

感谢您的帮助!

【问题讨论】:

    标签: ios swift uitableview uiviewcontroller uiscrollview


    【解决方案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:) 中的处理方式相同。

    【讨论】:

    • 我不断收到此错误:“线程 1:致命错误:在展开可选值时意外发现 nil”,只要调用 func。即使它是正确的tableView,..您还有其他想法吗? :)
    • 哪个属性是可选的?
    • 我通过 main.storyboard 添加的约束:@IBOutlet weak var constraintTop: NSLayoutConstraint!谢谢大佬!
    • 我不是用户界面构建器,我认为这是一堆垃圾,所以我没有太多帮助,对不起!
    猜你喜欢
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多