是的,我知道......不应该(想要)替换UITableView中使用的默认按钮,因为用户会识别按钮并知道如何处理它们。
然而,红色减号和绿色加号按钮看起来很糟糕,我定制的漂亮设计,我真的想找到一种方法将设计师图像添加到这些按钮(仍然非常容易识别)。
所以问题是如何替换这些图像?
一种方法是不使用标准的UITableView编辑模式并自己构建所有内容(正如stackoverflow上的其他问题所建议的那样),但我希望我不必那么做。
另一种方法是在willTransitionToState
中建立一个全新的状态,但我宁愿找到一种更简单的方法。
如果有人有任何建议,请告诉我们!
我不是在寻找editingAccessoryView
那个将附件放在右边的人。
答案 0 :(得分: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