【问题标题】:iOS 7 replicate home screen like animation to present/push a viewiOS 7 像动画一样复制主屏幕来呈现/推送视图
【发布时间】:2014-03-12 07:13:37
【问题描述】:

我想在启动应用程序和关闭应用程序时复制 iOS 7 主屏幕上可用的动画效果。启动应用程序时,应用程序似乎从一个点扩展到全场景,而在关闭应用程序时,它似乎从全屏收缩到一个点。我不确定这部动画的正式名称是什么。

我想在我的应用中做类似的事情。我想从视图控制器 A 呈现/推送视图控制器 B,其动画效果类似于上面提到的 iOS 7 主屏幕动画。

请指教。

谢谢。

【问题讨论】:

  • 我需要的效果类似于feedly iOS 7 app中的效果。当用户在主屏幕上触摸新闻故事标题时,有关该新闻故事的详细信息会显示在另一个视图中,并且该另一个视图似乎是从触摸点“发出”的。当用户关闭第二个视图时,它似乎会折叠到触摸点。我进行了很多搜索,但找不到解决方案。请指教。

标签: objective-c xcode animation view ios7


【解决方案1】:

您实际上不能明确地这样做。您可以做的最接近的事情是触发[UIView beginAnimations:nil context:NULL]; 块,并确保设置了[UIView setAnimationDidStopSelector:],这样您就可以为新的视图控制器/源控制器设置动画,然后您就可以执行准系统[self presentViewController:X animated:NO completion:nil];。重做。

【讨论】:

  • iOS4+ 更推荐基于块的动画。 (现在,我们在 iOS7)
  • 看来他对iOS-SDK不太熟悉。所以我给了他准系统的方式,没有过度复杂化。当然还有 CATransition 之类的......
【解决方案2】:

您也可以使用 UICollectionViews 对其布局进行动画处理来做类似的事情。这也将包括推送 segue 导航,因此如果您使用 UINavigationBarController,它也会相应地进行动画处理。

iOS 7 Photos 应用就是一个很好的例子。如果你认为 Years/Collections/Moments/Photos 之间的动画是你需要的,Apple 在 WWDC 2013 上做了一个演示。

【讨论】:

  • 我没有使用集合视图。我在视图 A 中有一个表格视图,当用户触摸视图 A 上的按钮时,视图 B 应该从视图 A“散发”出来。感谢您的帮助!
【解决方案3】:

这解决了我的问题。

http://www.doubleencore.com/2013/09/ios-7-custom-transitions/

作者为此有一个github。

https://github.com/jbradforddillon/TransitioningExample

所有感谢和代表布拉德福德狄龙。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 2015-08-22
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多