0

是的,我知道...不应该(想要)替换 UITableView 中使用的默认按钮,因为用户可以识别这些按钮并知道如何处理它们。

然而,红色减号和绿色加号按钮在我定制的漂亮设计中看起来很糟糕,我真的很想找到一种方法将设计师图像添加到这些按钮(仍然非常容易识别)。

所以问题是如何替换这些图像?

一种方法是不使用标准的 UITableView 编辑模式并自己构建所有内容(正如关于 stackoverflow 的其他问题所建议的那样),但我希望我不必一路走下去。

另一种方法是建立一个全新的状态,willTransitionToState但我宁愿找到一种更简单的方法。

如果有人有任何建议,请告诉我!

我不是在寻找editingAccessoryView将附件视图放在右侧的那个..

4

1 回答 1

1

我自己找到了这个问题的答案!

我在视图层次结构中使用调试器和`po [self recursiveDescription] 进行搜索,直到找到负责图标的视图并将其替换为我自己的图像

我以 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;
                }
            }
        }
    }
}

后来我添加了一个新的 UIImageView 来显示我的新图标!

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

于 2013-01-06T20:09:42.187 回答