我正在UIViewController
内的地图和列表视图之间进行“标准”翻转,导航栏位于顶部,有一个按钮可以在地图显示和列表之间切换。
我正在使用此方法执行转换:
[UIView transitionFromView:self.tableView
toView:self.mapView
duration:1
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:nil];
但是在完成之后,“从 - 视图”是零,并且在再次切换之后,两个视图都是零。还有另一种方法可以在视图之间切换并保持两种视图吗?然后我不必在显示时再次填充和初始化它们。每次用户翻转时,对于有很多针脚的地图,这样做有点不好。
答案 0 :(得分:1)
<强> fromView 强>
过渡的起始视图。默认情况下,此视图 作为过渡的一部分,将从其超级视图中删除。
toView
过渡的结束视图。默认情况下,此视图将添加到 作为过渡的一部分,fromView的超级视图。
<强>讨论强>
这种方法提供了一种从中过渡的简单方法 在fromView参数中查看toView参数中的视图。通过 默认情况下,fromView中的视图在视图层次结构中被替换 在toView中查看。 如果两个视图都已经是视图层次结构的一部分, 你可以包含UIViewAnimationOptionShowHideTransitionViews options参数中的选项只是隐藏或显示它们。
因此,如果您没有将两个视图作为视图层次结构的一部分,为什么不事先添加它们呢?您可以在mapview
下面插入tableView
作为子视图(因此最初不会显示),然后使用UIViewAnimationOptionShowHideTransitionViews
UIViewAnimationOptionTransitionFlipFromLeft
作为选项调用转换。