我有一个简单的问题。
我有一个显示UITableView的普通UITableViewController。当用户点击我的应用程序右上角的按钮时,我希望TableView从右向左翻转,然后显示一个新的UIView。我找到了动画UIViewAnimationTransitionFlipFromRight,它翻转当前视图并用新视图替换它。但是,动画涉及从超级视图中删除当前视图,然后将新视图添加到同一个超级视图。 问题是当我尝试在我的UITableViewController类中执行此操作时,我只有一个视图 - UITableView - 我需要删除它。当UITableView被删除后,我没有剩下的视图来添加我的新视图,并且屏幕变为空白。
我解决这个问题的想法是创建一个UIView并将UITableView放在该视图中。我想在动画中从UIView中删除UITableView,然后将我的新视图添加到同一个UIView中。 初始化时有类似的事情:
superViewTest = [[UIView alloc] initWithFrame:self.tableView.frame];
[superViewTest addSubview:self.tableView];
然后像动画翻转时那样:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
[self.tableView removeFromSuperview];
[superViewTest addSubview:self.mapView];
或者UITableViewController中的UITableView是否已经有了我不知道的超级视图?
我希望我能更好地解释这一点,提前谢谢!
答案 0 :(得分:5)
我建议您使用标准的UIViewController而不是UITableViewController。然后,您可以直接控制表及其父视图。将表添加为UIViewController视图的子视图,并按照您描述的方式将其与您的翻转视图交换。
答案 1 :(得分:0)
您可能只能使用presentModalView或其他任何内容。使用“Utility”项目模板创建一个新应用程序,并查看它是如何做到这一点的。如果您实际上不想切换到模态视图,那么模态视图的东西将无效。