我有一个常规UITableViewCell
,当我向左滑动时,它会显示一个删除按钮。
但是表格视图如下所示:
我想要的是让textLabel
始终保持一致,而不是在刷卡时离开屏幕。
可以使用常规UITableViewCells完成吗?我考虑过观察cell.contentView
的帧变化并相应地移动标签(屏幕截图上的红框是cell.contentView
s),但那些似乎来自{0,0}
所有的时间。
我应该获得自己的自定义类来获得此效果吗?
答案 0 :(得分:1)
你可以做的是使用UITableViewCell的setEditing方法并调整框架或约束。如果标签具有前导约束,则如何执行此操作 -
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
NSInteger leadingSpace = 10;
NSInteger editingOffset = 82;
if (editing) {
self.labelLeadingContraint.constant = leadingSpace + editingOffset;
} else {
self.labelLeadingContraint.constant = leadingSpace;
}
[UIView animateWithDuration:0.5 animations:^{
[self layoutIfNeeded];
}];
}