Dav*_*ter 2 uitableview uiscrollview ios
我有一个UIScrollView多页面,每个页面包含一个UITableViewController(类似于Reminders-App).单击每个单元格中的单元格将UITableViewControllers导致a DetailViewController被按下.
然而,当DetailViewController弹出时,它立即消失在后面UIScrollView,而不是平滑地滑开.我可以看到UIScrollView滑动的下一页,但是当DetailViewController从最后一页推出时,过渡看起来很好,因为没有内容UIScrollView可以重叠被解雇DetailViewController.
编辑
这就是我创建视图控制器层次结构的方法(简化):
ScheduleViewController.m:
- (void) viewDidLoad {
// ...
for (int i = 0; i < 3; ++i) {
MyTableViewController *myTableViewController = [[MyTableViewController alloc] initWithNibName:@"MyTableView" bundle:nil];
[self.scrollView addSubview:myTableViewController];
[self addChildViewController:myTableViewController];
[myTableViewController didMoveToParentViewController:self];
}
Run Code Online (Sandbox Code Playgroud)
这里是
tableView:didSelectCellAtIndexPath:在MyTableViewController:
(void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// ...
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
DetailViewController* detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
[self.navigationController pushViewController:detailViewController animated:YES];
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?这种行为有什么变通方法吗?
小智 6
您UIScrollView需要将superview clipsToBounds设置为TRUE(Clip Subviews如果您以这种方式创建视图,则在界面构建器中调用该选项.)正如您所注意到的,它似乎UIScrollView可能正在运行其超级视图,因为它更大,这导致你的动画看起来很糟糕.剪掉它会阻止它发生.
| 归档时间: |
|
| 查看次数: |
827 次 |
| 最近记录: |