UITableView滑动删除 - 对齐文本标签

时间:2014-03-30 23:12:22

标签: ios objective-c uitableview swipe-gesture

我有一个常规UITableViewCell,当我向左滑动时,它会显示一个删除按钮。

但是表格视图如下所示: enter image description here

我想要的是让textLabel始终保持一致,而不是在刷卡时离开屏幕。

可以使用常规UITableViewCells完成吗?我考虑过观察cell.contentView的帧变化并相应地移动标签(屏幕截图上的红框是cell.contentView s),但那些似乎来自{0,0}所有的时间。

我应该获得自己的自定义类来获得此效果吗?

1 个答案:

答案 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];
    }];
}