0

我正在UIViewController顶部导航栏内的地图和列表视图之间进行“标准”翻转,那里有一个按钮可以在地图显示和列表之间切换。我正在使用这种方法执行转换:

    [UIView transitionFromView:self.tableView
                        toView:self.mapView
                      duration:1
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    completion:nil];

但在它完成后,“从视图”为零,再一次切换后,两个视图都为零。有没有另一种方法可以在视图之间切换并保持两者?然后我不必在显示时再次填充和初始化它们。每次用户翻转时,对带有很多大头针的地图执行此操作有点糟糕。

4

1 回答 1

1

文档中:

从视图

过渡的起始视图。默认情况下,此视图作为过渡的一部分从其父视图中删除。

查看

过渡的结束视图。默认情况下,此视图作为过渡的一部分添加到 fromView 的父视图中。

讨论

该方法提供了一种简单的方法,可以从 fromView 参数中的视图过渡到 toView 参数中的视图。默认情况下,fromView 中的视图在视图层次结构中被 toView 中的视图替换。如果两个视图都已经是视图层次结构的一部分,则可以在 options 参数中包含 UIViewAnimationOptionShowHideTransitionViews 选项以简单地隐藏或显示它们

因此,如果您还没有将这两个视图作为视图层次结构的一部分,为什么不预先添加它们呢?您可以在下面插入mapview作为子视图tableView(因此一开始不会显示),然后使用as 选项调用转换UIViewAnimationOptionShowHideTransitionViewsUIViewAnimationOptionTransitionFlipFromLeft

于 2013-08-20T13:10:27.020 回答