scrollToRowAtIndexPath - 不一致的行为

时间:2014-07-14 21:02:34

标签: ios uitableview

我有一个实现UITableViewDelegate和UITableViewDataSource的NSObject类(“Reel”),并且有一个名为reelView的UITableView属性:

@property (nonatomic, weak) IBOutlet UITableView *reelView;

在我的主视图控制器(“MainVC”)中,我有一个由Reel控制的UITableView,表格显示正常。

但是当我尝试以编程方式滚动到特定行时,我会得到不同的结果,具体取决于我调用该方法的位置。

如果我自己调用该方法:

- (void)spin:(id)sender {

[self.reelView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:15 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];

}

没有任何反应。

但是当我在委托方法

中放置完全相同的代码行时
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
当选择表中的行时执行

,然后表格按照我期望的方式滚动。要清楚,我不是在打电话:

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:15 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];

但是

[self.reelView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:15 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];

在委托方法中。

它在模拟器和实际iPad上的行为方式相同。

有什么想法吗?

0 个答案:

没有答案