我有一个多节UITableView
,它包含由UIImage
,UILabel
等组成的自定义单元格。当我点击导航栏上的编辑按钮时,我希望单元格内容移动在右边。因为我想防止“删除”视觉和我的自定义单元格UIImage
之间的重叠。此外,我希望它在编辑模式结束时还原。
我试过了setIndentationLevel
,但它没有用。我该如何管理?
答案 0 :(得分:2)
由于您使用的是自定义表格视图单元格,我建议您使用
override init(style: UITableViewCellStyle, reuseIdentifier: String?)
super.init(style: style, reuseIdentifier: reuseIdentifier)
如果您的视图为myImageView
不要添加为:
addSubview(myImageView)
而是添加为:
contentView.addSubview(myImageView)
因为contentView是一个自动向右移动的视图。
答案 1 :(得分:1)
在启动期间(-viewDidLoad或在storyboard中)执行:
self.tableView.allowsMultipleSelectionDuringEditing = NO;
现在实现以下tableView委托
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Write code to change content insets of your cell here
// Return YES if you want the specified item to be editable.
return YES;
}
//覆盖以支持编辑表格视图。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//add code here for when you hit delete
// Change back the content insets of cell here
}
}
答案 2 :(得分:0)
覆盖自定义单元格中的- (void)setEditing:(BOOL)editing animated:(BOOL)animated
,以根据编辑值重置约束。