本文主要講的是把UItableviewCell左劃刪除替換成自定義的圖片;
首先瑟幕,需要自定義cell,然后在cell的.m文件里重寫- (void)layoutSubviews
自定義cell.m的代碼如下:
- (void)layoutSubviews
{
[super layoutSubviews];
UIView *view = nil;
for (UIView *subview in self.subviews)
{
if ([subview isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")])
{
view = subview;
if (view.subviews.count)
{
UIButton *button = view.subviews[0];
if (button)
{
button.backgroundColor = [UIColor cyanColor];
[button setImage:[UIImage imageNamed:@"myBg"] forState:UIControlStateNormal];
button.imageEdgeInsets = UIEdgeInsetsMake(0, 15, 0, 0);
}
}
}
}
}
說明一下,設置button
的image
后位置還是有偏差的只盹,所以用了imageEdgeInsets
調節(jié)了按鈕圖片的位置辣往,具體應該調多少,可以根據自己的需求殖卑。
在controller
中實現代碼的時候站削,如果想要調節(jié)刪除視圖的寬度,可以通過- (NSString*)tableView(UITableView*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
這個方法來調節(jié)孵稽。
最后上一張效果圖
Paste_Image.png
寫的不好许起,請大家多多包涵,如有錯誤菩鲜,歡迎指正园细。