Raj*_*r R 2 uitableview ios uiswipegesturerecognizer swift
我在UIViewController的底部有一个UITableView,现在tableview的高度是100点。

tableview有20个单元格,tableview的标题视图为100点。而且我在表视图标题中添加了向上的UISwipeGestureRecognizer和向下的UISwipeGestureRecognizer。
现在,我想在向上手势动作中将tableview高度约束常量更改为400,在向下手势动作中将tableview高度约束常量更改为100。
这是另一种方法。完全不要使用滑动手势识别器。
而是使桌子始终高出400点。将其设置contentInset.top为300。这将允许表格视图滚动,以便仅在屏幕底部可见其内容的前100个点。具体来说,表格视图将允许其contentOffset.y(垂直滚动位置)下降到-300(而不是仅下降到0)。表格的内容始终始于y = 0,因此当表格的contentOffset.y值为-300时,仅可见其内容的前100个点。随着contentOffset.y增加,更多的内容变得可见。
然后,覆盖表格视图的point(inside:withEvent:)方法以仅对具有的点返回true y >= 0。这意味着在滚动其内容时,该表将忽略(通过)其内容上方的触摸,因此只有前100个点可见。
这是一张小桌子的最终效果:

或一张大桌子:

您可以在此答案中找到详细的说明(在Objective-C中)以及指向完整测试项目的链接(也在Objective-C中)。
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |