Ios 设置UITableView替换动画-在动画完成之前不显示数据

Ios 设置UITableView替换动画-在动画完成之前不显示数据,ios,uitableview,uiviewanimationtransition,Ios,Uitableview,Uiviewanimationtransition,我有一个UISplitViewController,它在主视图和详细视图中显示UITableView 当用户在主视图表中选择一个项目时,我将在细节视图中重新加载该表,并且我希望使用页面卷曲来设置动画 以下是我使用的代码: UITableView *newTableView = [[UITableView alloc] initWithFrame:self.tableView.frame style:UITableViewStylePlain]; [newTableView reloadData

我有一个UISplitViewController,它在主视图和详细视图中显示UITableView

当用户在主视图表中选择一个项目时,我将在细节视图中重新加载该表,并且我希望使用页面卷曲来设置动画

以下是我使用的代码:

UITableView *newTableView = [[UITableView alloc] initWithFrame:self.tableView.frame style:UITableViewStylePlain];

[newTableView reloadData]; // ineffective attempt to load data prior to transition

[UIView transitionFromView:self.tableView
            toView:newTableView
            duration:0.8
            options:UIViewAnimationOptionTransitionCurlUp
            completion:^(BOOL finished)
                {
                    [newTableView reloadData]; // needed
                    [self setTableView:newTableView];
                    [newTableView release];
                }];
转换发生了,但是“显示的”UITableView只是一个普通的未填充UITableView,除非我强制在完成块中重新加载数据。然后,如果我这样做,我将转换到一个空表,然后重新加载以显示预期的数据——这不是很好


我如何才能使显示的表格已经显示所需的数据?谢谢。

我想这应该行得通

UITableView *newTableView = [[UITableView alloc] initWithFrame:self.tableView.frame style:UITableViewStylePlain];

[self setTableView:newTableView]; //until the table is set, there is no use reloading it
[newTableView reloadData]; // it should reload now and then animate

[UIView transitionFromView:self.tableView
            toView:newTableView
            duration:0.8
            options:UIViewAnimationOptionTransitionCurlUp
            completion:^(BOOL finished)
                {
                    [newTableView reloadData]; // needed
                    [self setTableView:newTableView];
                    [newTableView release];
                }];

u缺少
[self-setTableView:newTableView]以上
重新加载数据
。希望能有帮助。快乐编码:)

谢谢您的回复,但不是这样。如果我事先将tableView设置为newTableView,那么它将在动画之前重新加载可见表(违背了预期),并且我实际上是在要求从newTable转换到newTable。实际上,根据您建议的更改,卷曲动画将显示为黑色视图,而不是空表。无论如何,再次谢谢你。