1让禀、批量編輯操作狀態(tài)下cell不會自動右移(如果有左滑刪除遇到類似問題應該解決方法也一樣)
之前項目中用到批量刪除,發(fā)現(xiàn)在編輯模式的時候cell不會自動右移呵俏,檢查cell是不是加在contentView上的堆缘,還有約束的時候是不是根據(jù)contentView來進行約束的
2、? 當對cell的cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator屬性進行賦值時普碎,cell的contentView會自動右移一段距離吼肥,因此如果用contentView對cell的子控件進行約束時,會和預期效果不一樣(cell的contentView感覺會和cell本身的尺寸會小一點麻车。)
3缀皱、如果想對左滑刪除的按鈕樣式進行改變的話,可以在cell的layoutSubviews進行相關(guān)操作动猬。
//#pragma mark - 自定義刪除按鈕樣式
- (void)layoutSubviews {
? [super layoutSubviews];
? [self dealDeleteButton];
}
#pragma mark - 自定義刪除按鈕樣式
- (void)dealDeleteButton{
? ? for (UIView *subView in self.subviews) {
? ? ? ? if ([subView isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")]) {
? ? ? ? ?CGRect frame = subView.frame;
? ? ? ? ?frame.origin.y = self.backImage.frame.origin.y;
? ? ? ? ? frame.size.height = self.backImage.frame.size.height;
? ? ? ? ? ?subView.frame = frame;
////? ? ? ? ? ? subView.backgroundColor = [UIColor blueColor];
? ? ? ? for (UIButton *button in subView.subviews) {
? ? ? ? ? ? ? ?if ([button isKindOfClass:[UIButton class]]) {
////? ? ? ? ? ? ? ? ? ? button.backgroundColor = [UIColor blueColor];
////? ? ? ? ? ? ? ? ? ? button.titleLabel.font = [UIFont systemFontOfSize:11.0];
? ? ? ? ? ? ? }
? ? ? ? ? }
? ? ? ?}
? }
}
4啤斗、可以在cell內(nèi)部實現(xiàn)以下方法對cell的尺寸及位置進行改變
-(void)setFrame:(CGRect)frame{
? frame.size.height -=10;
frame.origin.x += 7;
frame.size.width -= 14;
?frame.origin.y += 10;
[super setFrame:frame];
}
5、批量編輯
設(shè)置tableView的edit屬性為可編輯模式赁咙,然后設(shè)置其屬性allowsMultipleSelectionDuringEditing為YES钮莲,則會出現(xiàn)打勾的選項選擇,此時點擊會有多選的效果彼水,選中的cell會打上勾崔拥,若要改變勾的顏色,可是設(shè)置cell的tintColor凤覆,改變cell的選中樣式可以設(shè)置cell.selectedBackgroundView = [[UIView alloc] init]屬性链瓦;如果allowsMultipleSelectionDuringEditing為NO,則出現(xiàn)的是減號盯桦,此時點擊會有左滑刪除的效果慈俯;
然后可以用
//? ? ? ? NSArray *indexPaths = [self.liftTbaleView indexPathsForSelectedRows];
/獲得所有被選中的行,通過
// 遍歷所有的行號
? ? ? for (NSIndexPath *path in indexPaths) {
? ? ? ? ? ?[self.deletedDeals addObject:self.datas[path.section]];
? ? ? ? }
就可以對所選中的cell進行相關(guān)操作拥峦。