【问题标题】:How to do a horizontal flip animation without setting views to nil?如何在不将视图设置为零的情况下进行水平翻转动画?
【发布时间】:2013-08-20 07:56:53
【问题描述】:

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

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

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

【问题讨论】:

  • 在按钮点击时显示完整代码

标签: ios uiview uianimation uiviewanimationtransition


【解决方案1】:

来自documentation

来自视图

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

查看

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

讨论

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多