好的,首先,我希望我的单元格在编辑模式下(带有一些漂亮的按钮)在UItableView中显示:

但是-这是现在的样子:

我的问题是,我的自定义EditingAccessoryView仅出现在我最初创建的单元格上,而那些圆东西(又叫什么?)出现了。哪个做得不好。

现在,我的代码看起来像这样(这似乎是执行此操作的常用方法,例如在此问题上看到的:How to add Custom EditingAccessoryView for UITableView?)

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
        cell.editingAccessoryView = AccessoryView;
        AccessoryView.backgroundColor = [UIColor clearColor];
    }

我了解到,即使- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath返回“NO”,您也应该可以通过滑动来调用自定义的editingAccessoryView。但是,这我无法实现。

因此,总结一下;我希望我的editingAccessoryView显示在所有单元格中,并在可能的情况下删除红色圆圈。或者,也可以在滑动时调用我的editingAccessoryView-用户执行此操作时会调用哪种方法?

任何帮助将非常感激。

最佳答案

我建议您子类化表单元格并覆盖以下方法

- (void)layoutSubviews
{
    if([self isEditing])
    {
        // your custom stuff
       [self.contentView addSubview:myButton];
    }
}

关于iphone - 自定义editingAccessoryView行为无法预测,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6585681/

10-13 01:49