【问题标题】:Make certain area of UITableViewCell not selectable使 UITableViewCell 的某些区域不可选
【发布时间】:2014-08-04 21:38:04
【问题描述】:

我有一个自定义 UITableViewCell。我在单元格中有一个 UIImageView ,当我选择图像时,它会发生变化,但单元格也被选中,这是我不想要的。所以我的问题是如何使我的单元格的某个区域不可选? 我尝试覆盖 touchesBegan 或 touchesEnded 但这不起作用,因为那时我根本无法选择单元格。

【问题讨论】:

    标签: uitableview swift


    【解决方案1】:

    如果您只想不显示选择颜色,请使用:

    cell.selectionStyle = UITableViewCellSelectionStyleNone;  
    

    如果你有一些被单元格点击触发的东西,它仍然会发生,所以如果你想禁用它,你也需要注意:

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

    或者如果它触发了一个segue,在:

    - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
    

    【讨论】:

    • 不,我希望显示选择并且我希望触发操作,但仅当用户选择单元格的某个区域时。如果他没有触摸单元格内的这个特定区域,那么我不希望显示选择并且我不希望触发操作
    【解决方案2】:

    cellForRowAtIndexPath 中,您可以将userInteractionEnabled 设置为false

    cell.userInteractionEnabled = NO;
    

    【讨论】:

    • 如果我添加该行并选择未选择单元格的图像,是的,但是当我想选择单元格而不是图像时,则不会发生任何事情,因为未启用 userInterAction。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    相关资源
    最近更新 更多