最近有朋友評論我寫上一篇cell的左滑功能髓迎,催我寫Cell自定義批量選中峦朗,全選功能,我不禁翻看那篇文章排龄,看著寫文章的日期波势,不免有點尷尬,至今已有一年多的時間了橄维,真是往事歷歷在目啊??尺铣,然鵝我在努力記起怎么使用markdown,而最后一句話是
Snip20171116_1.png
沒想到拖了這么久争舞。
關(guān)于UITableViewCell批量選中凛忿,全選等功能實現(xiàn)過程很簡單,網(wǎng)上方法很多竞川,本不想多此一舉重復(fù)寫著大家都寫的方法店溢,但是這篇文章還是要寫的,給上一篇文章一個完美的結(jié)局流译。
在編輯模式中多選
// 編輯模式的時候可以多選
self.tableView.allowsMultipleSelectionDuringEditing = YES;
進入全選編輯模式
[self.tableView setEditing:YES animated:YES];
全選事件
//全選
for (int i = 0; i < 數(shù)據(jù).count; i ++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];
[self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionTop];
}
//取消全選
for (int i = 0; i < 數(shù)據(jù).count; i ++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
獲得選中的所有行
self.tableView.indexPathsForSelectedRows;
然后就可以操作刪除事件了逞怨。。福澡。叠赦。。革砸。
關(guān)于自定義系統(tǒng)的選中和未選中圖像
在自定義cell中
//簡單實現(xiàn)
- (void)layoutSubviews {
[super layoutSubviews];
for (UIControl *control in self.subviews){
if ([control isMemberOfClass:NSClassFromString(@"UITableViewCellEditControl")]){
for (UIView *v in control.subviews){
if ([v isKindOfClass: [UIImageView class]]) {
UIImageView *img=(UIImageView *)v;
if (self.selected) {
img.image=選中的圖片;
}else{
img.image=未選中的圖片;
}
}
}
}
}
}