如果要创建一个由两行组成的标准分组表视图,然后在第一行触摸,则单元格将突出显示。如果要将一个人的手指向下拖动,则行的选择会取消,并且表格视图会随着拖动而开始移动。
想象一下相同的情况,但通过tableView.scrollEnabled = NO
禁用表格视图滚动。现在,当一个人选择了一行并开始拖动时,该行将取消选择并且该表保持静态。
我有两个问题:
有关此功能的示例,请打开“时钟”应用并选择“警报”选项卡栏项。点击右上角的加号按钮,将出现一个模式视图,显示四行。点击第一行,拖动到第二行,您将看到选择跨行移动,而表本身保持静态。这是如何实现的?
答案 0 :(得分:0)
在一个带有scrollEnabled = NO的tableView上,当你触摸任何一个单元格时,你得到一个didHighlightRowAtIndexPath,当你开始拖动时,你得到didUnhighlightRowAtIndexPath(即使你留在单元格内)。拖动时未选中或取消选择单元格,并且在该触摸上没有其他单元格突出显示/取消突出显示。
调用了一个shouldHighlighRowAtIndexPath方法,您可以在其中决定触摸是否应该突出显示该行,而不是一个shouldUnhighlight方法。
如果高亮/不亮的'闪光'困扰你,你可以使用shouldHighlight方法返回NO。或者,如果选择了单元格,则可以返回NO。