UITableViewCell文本标签跳转到表行动画

时间:2014-03-19 16:26:51

标签: ios animation uitableview ios7

我有一个简单的扩展表格视图单元格,通过更改tableView:heightForRowAtIndexPath:中返回的高度来增长:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    CGFloat height = [tableView rowHeight];

    if (indexPath == self.descriptionCellIndexPath) {
        if (self.descriptionCellExpanded) {
            height = self.descriptionCellExpandedHeight;
        }

        height += UA_DEFAULT_PADDING; // 10 pixels
    }

    return height;
}

我设置了高度:

- (void)expandDescriptionRowWithIndexPath:(NSIndexPath *)indexPath {    
    if (!self.descriptionCellExpanded) {
        UAAudioExpandingDescriptionTableViewCell *cell = (UAAudioExpandingDescriptionTableViewCell *)[self.tableView cellForRowAtIndexPath:indexPath];
        CGFloat height = [cell expandedHeight];

        self.descriptionCellExpanded = YES;
        self.descriptionCellExpandedHeight = height;
        [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
}

折叠和扩展单元格的高度都是正确的,文本在正确的位置正确呈现,但我发现文本标签在动画上跳转的问题。这是打开慢动作动画的问题的GIF:

enter image description here

正如您所看到的,单元格在动画之前和之后正确布局,而不是在此期间。文字标签是一个简单的UITableViewCellStyleDefault,除separatorInset以外的框架或位置没有自定义。

如何防止textLabel跳过动画?

0 个答案:

没有答案