【问题标题】:how to bring another screen on top of current view, iphone如何在当前视图顶部显示另一个屏幕,iphone
【发布时间】:2012-03-20 02:26:04
【问题描述】:

在iphone中播放音乐时,在标题为“歌曲”的主屏幕上,左上角有一个名为“已存储”的按钮,右上角有一个“正在播放”的按钮。如果我们单击“Store”,则会有一个动画将 Store 视图显示到主屏幕。我的问题是我们如何制作这样的动画。 这里欢迎任何 cmet。谢谢

【问题讨论】:

    标签: iphone objective-c uiview core-animation


    【解决方案1】:

    这是一个非常棘手的问题 - iOS 使用您描述的动画来向用户表明他们正在切换应用程序。我将假设您想在自己的应用程序中重现此动画。这样做可能不是一个好主意,因为它会使用户感到困惑,但出于学术原因,让我们探索一下。

    假设您有两个要切换的视图。你有几个不同的选项来动画他们的过渡:

    • 使用标准的内置动画来切换视图(通常是 UINaivationController 或 presentModalViewController:animated:)。
    • 在视图上使用隐式动画。这并不难,除非两个视图都由同一个视图控制器管理,否则会破坏模型-视图-控制器范式。
    • 在视图的 CALayer 上使用核心动画动画。这也破坏了 MVC。

    随着您向下移动列表,您可以更好地控制动画,但也需要做更多的工作。要重新创建您感兴趣的动画,您必须使用最后一个选项,因为动画是 3D 且相当复杂。

    要了解有关如何使用 Core Animation 从一个视图过渡到另一个视图的更多信息,请查看this example on github。它会让您了解所涉及的内容,并为您指明正确的方向以创建您正在寻找的效果。

    【讨论】:

    • 是啊,你是仪式,它是相当完整的。让我试一试。感谢您的评论
    猜你喜欢
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多