【发布时间】:2010-01-24 19:27:53
【问题描述】:
我有一个简单的问题。
我有一个显示 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 是否已经有一个我不知道的超级视图?
希望我能更好地解释这一点,在此先感谢!
【问题讨论】:
标签: iphone objective-c uitableview