我有一個UITableView
其中包含所有國家的名稱。 用戶可以隨時通過點擊cell
刪除或編輯國家的名稱。在UITableViewCell中添加自定義編輯和刪除按鈕
我的UITableView細胞最初看起來是這樣的:
現在,當用戶點擊它,我改變這樣的:
我想我下面一個很這是我所做的:
聲明全局按鈕添加:
UIButton *btnDeleteWithImage,*btnDeleteWithText,*btnEditWithImage,*btnEditWihtText; //buttons
而一個NSMutableArray
跟蹤indexPath.row
現在在我的didSelectMethod我這樣做:
//To change the background
UIView *selectionBackground = [[UIView alloc] init];
selectionBackground.backgroundColor = [UIColor customColor];
cell.selectedBackgroundView = selectionBackground;
// to check which cell is pressed
if([indexPathCollection containsObject:index])
{
[btnDeleteWithImage removeFromSuperview];
[btnDeleteWithText removeFromSuperview];
[btnEditWihtText removeFromSuperview];
[btnEditWithImage removeFromSuperview];
[indexPathCollection removeObject:index];
[cell addSubview:btnDeleteWithImage];
[cell addSubview:btnDeleteWithText];
[cell addSubview:btnEditWithImage];
[cell addSubview:btnEditWihtText];
[indexPathCollection addObject:index];
}
else
{
[cell addSubview:btnDeleteWithImage];
[cell addSubview:btnDeleteWithText];
[cell addSubview:btnEditWithImage];
[cell addSubview:btnEditWihtText];
[indexPathCollection addObject:index];
}
但這不是工作good.When我滾動表編輯和刪除按鈕隨機發生。
有人有更好的想法如何以非常有效的方式實現這一點。
你可以查看這個http://stackoverflow.com/questions/19164188/custom-edit-view-in-uitableviewcell-while-swipe-left。 –
您的方法不起作用,因爲您可能正在重複使用cellforrowatindexpath委託方法中的單元格。 – elbuild
我該怎麼做... @elbuild請幫助我 – NSUser