2013-01-04 99 views
0

是啊是啊,我知道...每个人都应该不(要)替换UITableView中使用的默认按钮,因为用户识别按钮,知道该怎么做跟他们。替换“删除”和“添加”按钮,或者在图像编辑模式的UITableView

但是,红色的减号和绿色的加号按钮看起来很可怕,我定制的漂亮的设计,我真的很想找到一种方法来添加设计师图像到这些按钮(这仍然是非常容易辨认)。

所以问题是如何取代这些图像?

一种方法是不使用标准的UITableView编辑模式,并建立自己的一切(对其他问题的建议在计算器),但我希望我没有去所有的方式。

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

如果有人有任何建议,请让我知道!

我不是在寻找editingAccessoryView一个将放置accessoryView的右侧..

+1

好,可惜世界上没有比做全部由自己,正如你提到的更简单的方法。你不能直接替换图像。 – Andy

+0

'initWithImage:style:target:action:'可以来得方便.. –

+0

Barbutonitem? – Tieme

回答

1

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

我搜索与视图层次结构的调试器和`PO [自recursiveDescription]直到我发现视图负责的图标,并用自己的形象取代了它

我做了一个GitHub库作为一个例子,但本是隐藏旧图像的代码:

- (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

相关问题