当UITableView处于编辑模式时,更改负图像和操作

时间:2010-06-04 11:18:22

标签: iphone xcode uitableview

我有两个问题:

我们可以更改表格处于编辑模式时显示的( - )减号的点击事件吗?

我们可以更改表格处于编辑模式时显示的减号图像吗?

我试图在各个帖子中找到解决方案,但失败了。因此,如果您知道任何其他帖子中的解决方案,请将链接粘贴到此处。

2 个答案:

答案 0 :(得分:1)

您无法更改减号图像,但如果您使用它来实际删除项目,那么我建议您保留原样,无论如何。原因是它是iPhone用户的一个众所周知的图标。如果您想以其他方式表示删除,可能会造成混淆。

也就是说,如果你想让左键代表其他东西,那么你可以在左边创建一个带有图像的自定义表格单元格。那个图像可以是你想要的任何东西。您可以通过覆盖didTransitionToState:

来显示或隐藏自定义图标

答案 1 :(得分:1)

引用Chris Carrett

  

您无法更改减号图像,但如果您使用它来实际删除项目,那么我建议您保留原样,无论如何。原因是它是iPhone用户的一个众所周知的图标。如果您想以其他方式表示删除,可能会造成混淆。

但是,如果您真的想要更改图标,可以尝试将其删除并添加自己的UIImageView。

<强>更新 我为此苦苦挣扎,但我认为我终于做对了。

我以github repo为例,但这是隐藏旧图像的代码:

- (void) removeOriginalEditControl{
    for (UIView *subview in self.subviews) {
        if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) {
            for (UIView *subsubview in subview.subviews) {
                if ([NSStringFromClass([subsubview class]) isEqualToString:@"UIImageView"]) {
                    [subsubview removeFromSuperview];
                    break;
                }
            }
        }
    }
}

查看完整示例:https://github.com/tiemevanveen/TableViewCustomEditControls