gpt4 book ai didi

ios - 尝试在编辑模式下 UITableViewCellSelectionStyleDefault 中需要颜色时保留 UITableViewCellSelectionStyleNone

转载 作者:行者123 更新时间:2023-11-29 10:37:01 24 4
gpt4 key购买 nike

我在设置时有一个子类 UITableViewCell:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

在:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

在表中我有多项选择,因此我可以从数据源中删除行。

我想得到的是这些:

  1. 用户点击单元格,不会有选择。
  2. 当用户处于多选(编辑)模式时,只有 native 多选 View 将是UITableViewCellSelectionStyleDefault,而我设计的单元格不会受到选择样式的影响。

我该怎么做?

最佳答案

最优雅的方法是将 selectionStyle 逻辑移动到您的子类中。

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
[super awakeFromNib];

// Set default selection style
self.selectionStyle = UITableViewCellSelectionStyleNone;
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];

// Change the selection style based on if the cell is being edited or not
if (editing) {
self.selectionStyle = UITableViewCellSelectionStyleDefault;
} else {
self.selectionStyle = UITableViewCellSelectionStyleNone;
}
}

虽然 gabbler 的方法确实有效,但您必须调用 [_tableView reloadData]; 来取消编辑动画。

关于ios - 尝试在编辑模式下 UITableViewCellSelectionStyleDefault 中需要颜色时保留 UITableViewCellSelectionStyleNone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356381/

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