1.發(fā)現(xiàn)問(wèn)題
最近復(fù)查老代碼,發(fā)現(xiàn)原來(lái)在CellView中自定義左滑按鈕的方法失效了,
- (void)didTransitionToState:(UITableViewCellStateMask)state;
- (void)willTransitionToState:(UITableViewCellStateMask)state;
- (void)layoutSubviews;
原在這三個(gè)方法中獲取UITableViewCellDeleteConfirmationView找不到了,翻看了下文檔,原來(lái)是ios系統(tǒng)更新中改變了view的層級(jí)結(jié)構(gòu).
wawImg.png
2.解決問(wèn)題
于是乎,我找到在tableview的代理方法
-(void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
中操作是個(gè)很好的地方,上個(gè)簡(jiǎn)單的示例代碼
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
for (UIView *subview in tableView.subviews) {
if ([NSStringFromClass([subview class]) isEqualToString:@"UISwipeActionPullView"]) {
if ([NSStringFromClass([subview.subviews[0] class]) isEqualToString:@"UISwipeActionStandardButton"]) {
subview.subviews[0].backgroundColor = [UIColor colorWithHexString:@"#FF556A"];
UIImageView * imgV = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"wtImg"]];
imgV.X = 25;imgV.Y = 18;
[subview.subviews[0] addSubview:imgV];
}
}
}
}
這樣就可以更改左滑按鈕的的樣式了,這里是把我的左滑刪除按鈕改成了圖片wawImg.png
搞定. 歡迎大家指正