需要知道 scrollToRowAtIndexPath 是否滚动完成。
不能使用滚动例程,因为行已经就位并且表格不滚动。
如果可能的话,不想使用一些计时器/失效来做到这一点。
需要知道 scrollToRowAtIndexPath 是否滚动完成。
不能使用滚动例程,因为行已经就位并且表格不滚动。
如果可能的话,不想使用一些计时器/失效来做到这一点。
在调用之前[tableView scrollToRowAtIndexPath:indexPath...
,请执行以下操作:
BOOL visible = NO;
for (UITableViewCell *cell in [tableView visibleCells])
if ([indexPath isEqual:[tableView indexPathForCell:cell]]) {
visible = YES;
break
}
如果需要,将可见存储为视图控制器的成员变量,以便在处理某些委托方法时检查其值。
原来必须使用 NSTimer 等。这是怎么回事......如果有人有更好的方法......
In routine that tells the indexPath to scroll to
Scroll to IndexPath
tableMoving = true
set NSTimer to fire MovingDone at 0.1
In scrollViewDidScroll
if tableMoving
invalidate timer
timer = nil
In scrollViewDidEndScrollingAnimation
if tableMoving
call MovingDone
In MovingDone
moving = false
// do end of table scrolling code here