我为iOS 5开发了一款应用。
如何在表格视图中插入行(contentOffset
)后设置insertRowAtIndexPath:
? insertRowAtIndexPath:
将偏移量设置为0.我尝试在willDisplayRow:
委托方法中设置偏移但没有结果。
答案 0 :(得分:2)
如果您要在行插入动画完成后更改偏移的问题,则调用方法以在延迟后设置偏移。这将使当前运行循环完成,允许完成行插入动画。您可能希望在延迟期间禁用与表视图的交互。
您可以尝试在tableViewController中添加以下内容。
- (void) adjustsContentOffset: (NSIndexPath*) indexPath;
{
CGFloat offsetY = 0.0; // insert some calculation deriving your value from indexPath
[[self tableView] setContentOffset: CGPointMake(0.0, offsetY) animated: YES];
}
- (void) insertRow: (NSIndexPath*) indexPath;
{
[[self tableView] insertRowsAtIndexPaths: [NSArray arrayWithObject: indexPath] withRowAnimation:UITableViewRowAnimationLeft];
[self performSelector: @selector(adjustsContentOffset:) withObject: indexPath afterDelay: 0.3];
}
答案 1 :(得分:0)
再次感谢Matthew您真正有用的答案,但最后我找到了另一个我希望与社区分享的解决方案:
只需在表格末尾添加一个空单元格,其高度等于所需的偏移量