【问题标题】:disable touch interaction in UITableView在 UITableView 中禁用触摸交互
【发布时间】:2012-03-18 16:28:58
【问题描述】:

我有一个 UITableView,当用户触摸一个单元格时它会绘制一个 subView。

问题是 subView 绘图是动画的,如果用户足够快,他们可以多次点击一个单元格,我想在动画期间和之后禁用这些单元格。

我试过用这个:

- (void) tableView: (UITableView*) tableView didSelectRowAtIndexPath: (NSIndexPath*) indexPath {

    [[UIApplication sharedApplication] beginIgnoringInteractionEvents];

还有一个布尔变量:

if (isAnimating == NO) {

但似乎都不起作用。在每种情况下,快速接触都会搞砸一切。

任何帮助将非常感谢!

【问题讨论】:

    标签: uitableview uiview touch


    【解决方案1】:

    试试这个... 点击单元格集后

    tableView.userInteractionEnabled = NO;
    

    【讨论】:

    • .userInteractionEnabled = FALSE;有效!
    • 在 Objective-C 中使用 NO 代替 BOOL,不要使用 False 或 FALSE
    • 好的,你能告诉我从 NO 到 FALSE 的区别吗?
    • 基本来说,NO和false没有区别,只要你评价正确就行了。见stackoverflow.com/questions/615702/…
    • 在这种情况下,你也会丢失卷轴。
    【解决方案2】:

    我知道这是一个老问题,但是它缺少快速版本,所以, 在 Swift 3 中是:

    tableView.isUserInteractionEnabled = false;
    

    然后重新打开它是:

    tableView.isUserInteractionEnabled = true;
    

    只是想如果有人像我一样在 swift 3 中寻找答案,这可能会对他们有所帮助,并在这里结束。

    【讨论】:

      猜你喜欢
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多