【发布时间】:2013-10-17 00:59:57
【问题描述】:
我有一个PFQueryTableViewController,它设置为在选择一行时在UINavigationViewController 内实例化并呈现一个新的视图控制器。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([self objectAtIndexPath:indexPath]) { // Check our object exists
MyNewViewController *card = [[MyNewViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:card];
[nav.navigationBar configureFlatNavigationBarWithColor:[UIColor pomegranateColor]];
[self presentViewController:nav animated:YES completion:^{}];
}
else { // Otherwise, do what we would have done.
[super tableView:tableView didSelectRowAtIndexPath:indexPath];
}
}
当我选择一行时,表格视图会一直滚动(非动画)到顶部,就在新视图控制器出现之前。这是第一个问题,因为它使用户很难跟踪他们的位置。
第二个问题是当我退出新的视图控制器,返回表格视图控制器时,我无法从第一个单元格向下滚动。它弹跳起来,我可以看到第二个单元格的一部分,但它不会降低。重新加载表格会导致滚动再次起作用。
如何防止它滚动回顶部,为什么它在滚动到顶部后限制滚动?
【问题讨论】:
标签: ios objective-c uitableview