在我的tableView中,我想用动画扩展单元格的高度。它有效,但是当我推它时,扩展单元和另一个单元之间有空白。 动画选项
会发生这种情况UIViewAnimationOptionCurveEaseIn
UIViewAnimationOptionCurveEaseOut
UIViewAnimationOptionCurveLinear
且只有
UIViewAnimationOptionCurveEaseInOut
没问题。
您可以在此video中看到它。 有人可以解释为什么会发生或提出另一种解决方案?谢谢。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if ([self isSelectedCell:indexPath]) {
return self.heightCellAnimation;
}
return HeightCommonCell;
}
- (void)changeHeightCellFor:(NSIndexPath *)indexPath inTableView:(UITableView*) tableView
{
self.indexPathSelectedCell = indexPath;
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
[self.tableView beginUpdates];
self.heightCellAnimation = [self getHeightForCurrentScrollView] + HeightCommonCell;
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.frame = CGRectMake(cell.frame.origin.x,
cell.frame.origin.y,
cell.frame.size.width,
self.heightCellAnimation);
self.heighSelectedCell = indexPath.row;
[self.tableView endUpdates];
} completion:^(BOOL finished) {
}];
}
答案 0 :(得分:0)
也许是因为Apple使用UIViewAnimationOptionCurveEaseInOut
来制作tableView
的动画,因此一旦您使用相同的选项,动画就会显示 ok 。