gpt4 book ai didi

ios - 如何创建向上/向下滑动的 UITableView?

转载 作者:可可西里 更新时间:2023-10-31 23:57:36 25 4
gpt4 key购买 nike

我在 UIViewController 的底部有一个 UITableView,现在 tableview 的高度是 100 点。 storyboard

tableview 有 20 个单元格,tableview 的标题 View 是 100 点。我在 TableView 标题中添加了向上的 UISwipeGestureRecognizer 和向下的 UISwipeGestureRecognizer。

现在我想在向上手势 Action 中将 tableview 高度约束常量更改为 400,在向下手势 Action 中将 tableview 高度约束常量更改为 100。

minimized

maximized

  • 现在的问题是手势识别器在 tableview 中不工作启用 tableview 滚动时的标题。
  • 如果 tableview 滚动被禁用,那么手势识别器是在职的。但是一旦 tableview 高度为改变了。

最佳答案

这是一种不同的方法。根本不要使用滑动手势识别器。

相反,让表格始终保持 400 点高。将其 contentInset.top 设置为 300。这将允许表格 View 滚动,以便只有其前 100 点的内容在屏幕底部可见。具体来说,表格 View 将允许它的 contentOffset.y(这是它的垂直滚动位置)下降到 -300(而不是只下降到 0)。表格的内容始终从 y = 0 开始,因此当表格的 contentOffset.y 为 -300 时,只有其内容的前 100 个点可见。随着 contentOffset.y 的增加,它的更多内容变得可见。

然后,覆盖 TableView 的 point(inside:withEvent:) 方法以仅对 y >= 0 的点返回 true。这意味着当内容滚动时,表格将忽略(通过)其内容上方的触摸,因此只有前 100 个点可见。

这是一张小 table 的最终效果:

small table

或者对于一张大 table :

big table

您可以找到详细说明(在 Objective-C 中)和完整测试项目的链接(也在 Objective-C 中)in this answer .

关于ios - 如何创建向上/向下滑动的 UITableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44544179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com