【问题标题】:Table view inside scroll view: expand table view on scrolling and hide view above it滚动视图内的表格视图:在滚动时展开表格视图并在其上方隐藏视图
【发布时间】:2018-05-19 14:19:41
【问题描述】:

我想在向下滚动时隐藏表格视图上方的视图,并在向上滚动时再次显示它。这种行为在许多应用程序中实现。我怎样才能做到这一点?

【问题讨论】:

  • 表格视图是滚动视图,为什么要嵌套它们呢?苹果明确表示不要这样做。 UITableView 内置了所有滚动视图代理,因此只需在此处访问它们即可。在做任何其他事情之前先解决这个问题。

标签: ios swift uitableview uiscrollview


【解决方案1】:

钩住表格上方视图的高度约束

func scrollViewDidScroll(_ scrollView: UIScrollView) {

    let viewY = scrollview.contentOffset.y

    self.topViewH.constant = (viewY == 0) ? 200 : 0

    self.view.layoutIfNeeded()
}

【讨论】:

    【解决方案2】:

    问题:不建议将tableView放在scrollView里面(基本上tableView本身就是scrollView)。由于内部滚动,iOS 和用户都会对滚动的方式/位置感到困惑。

    我的解决方案:对于您的用例,您可以将视图(您希望在向下滚动时隐藏并在向上滚动时显示)放在 tableview 标题本身中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 2017-05-04
      相关资源
      最近更新 更多