将UITableViewControllers tableview添加到新的UIView

Isa*_* T. 1 iphone objective-c uitableview

我有一个简单的问题.

我有一个显示UITableView的普通UITableViewController.当用户点击我的应用程序右上角的按钮时,我希望TableView从右向左翻转,然后显示一个新的UIView.我找到了动画UIViewAnimationTransitionFlipFromRight,它翻转当前视图并用新视图替换它.但是,动画涉及从超级视图中删除当前视图,然后将新视图添加到同一个超级视图.问题是当我尝试在我的UITableViewController类中执行此操作时,我只有一个视图 - UITableView - 我需要删除它.当UITableView被删除后,我没有剩下的视图来添加我的新视图,并且屏幕变为空白.

我解决这个问题的想法是创建一个UIView并将UITableView放在该视图中.我想在动画中从UIView中删除UITableView,然后将我的新视图添加到同一个UIView中.初始化时有类似的东西:

superViewTest = [[UIView alloc] initWithFrame:self.tableView.frame];
[superViewTest addSubview:self.tableView];
Run Code Online (Sandbox Code Playgroud)

然后在动画翻转时像这样:

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
[self.tableView removeFromSuperview];
[superViewTest addSubview:self.mapView];
Run Code Online (Sandbox Code Playgroud)

或者UITableViewController中的UITableView是否已经具有我不知道的超视图?

我希望我能更好地解释这一点,提前谢谢!

Ben*_*ieb 5

我建议你使用标准的UIViewController而不是UITableViewController.然后,您可以直接控制表及其父视图.将表添加为UIViewController视图的子视图,并按照您描述的方式将其与您的侧视图交换.