好吧,我有一些奇怪的行为,这个问题发生在已经解决了这个问题的人们身上。
我有4个不同的UITableViewCells子类。它们都非常相似(我看不出会带来问题的差异)。
现在我的UITableView的委托有以下代码:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section < 2)
return UITableViewCellEditingStyleNone;
else if (indexPath.row == [[AccountManager sharedManager].accounts count])
return UITableViewCellEditingStyleNone;
else return UITableViewCellEditingStyleDelete;
}
现在,我期望在更改tableView的setEditing:property属性时前两行不会改变。
这是棘手的部分:
他们向前移动的前两行没有出现“删除图标”。
在最后一个部分中,单元格不向右移动单个像素,只有行显示“删除图标”。
以下是一些信息:
我的单元格视图和子视图都没有实现 - (void)layoutSubviews
所有这些都实现 - (void)drawRect:(CGRect)rect
所有单元格和单元格的子视图ContentMode都设置为其默认设置 所有autoresizingMask都设置为默认设置。
有什么想法吗?
答案 0 :(得分:3)
如果您将子视图直接添加到UITableViewCell,则在UITableView中切换编辑模式时动画将无效。
如果要激活它们,则应将子视图添加到UITableViewCell的contentView属性中。