我想在我的tableview中插入带有UIDatePicker的UITableViewCell。
我正在使用以下代码:
NSIndexPath *insert = [NSIndexPath indexPathForRow:indexPath.row + 1 inSection:indexPath.section];
self.datePickerIndexPath = insert;
[self.tableView insertRowsAtIndexPaths:@[insert] withRowAnimation:UITableViewRowAnimationAutomatic];
单元格是一个简单的UITableViewCell子类,它在一个nib中定义,并在contentView中放置了一个UIDatePicker。
我发现我遇到动画的性能问题 - 当要显示日期选择器时,我会得到一个生涩的动画。隐藏datePicker不会出现这样的问题。
我对动画进行了分析,看来UIDatePicker的layoutSubviews中正在进行大量的工作。
使用UIDatePicker制作动画时是否有人能够克服性能问题?我怎样才能提高性能呢?
感谢
更新
似乎日期选择器不是问题。
在Core Animation Instruments中进行分析后,无论单元格是否具有日期选择器,帧速率似乎都会下降。即使是空白单元也不具备性能。我无法追踪导致细胞插入的确切原因。
更新
看起来好像44分钟可以平滑地动画,但如果我把它变大,它会跳跃。实现以下方法:
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
似乎可以解决问题