• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在 viewDidLoad 中执行 UIView animateWithDuration? IOS 7

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:15:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在 viewDidAppear 中尝试了这个,但我有一秒钟的延迟 =( 我能做什么?在 viewDidLoad 中工作?

-(void)viewDidAppearBOOL)animated{


            fullRotation = [CABasicAnimation animationWithKeyPath"transform.rotation"];
            fullRotation.fromValue = [NSNumber numberWithFloat:0];
            fullRotation.toValue = [NSNumber numberWithFloat(720*M_PI)/360)];
            fullRotation.duration = 5;
            //  fullRotation.repeatCount = 1e10f;
            [_propImaCirculoCompleto.layer addAnimation:fullRotation forKey"360"];


}



Best Answer-推荐答案


你不应该在 viewDidLoad 中做任何动画,因为 View 还没有 super View ,所以动画是无关紧要的。

对您的代码示例的一些想法:

  • 你可以使用 viewDidAppear 只要你想要动画 View 出现的时间,而不仅仅是第一次出现。

  • 没有必要在动画 block 中使用核心动画。做一个或另一个。

建议

如果您尝试为由不同 View Controller 管理的 View 的外观设置动画,则呈现 Controller 负责动画。有几种方法可以实现这一点,具体取决于您支持的最低 iOS 版本。

  • 在 iOS 5+ 中,您可以使用自定义容器 Controller 来呈现具有定义动画的 subview Controller 。

  • 在 iOS 7 中,您可以使用 'presentViewController:animated:completion' 并指定自定义动画。然后,您将设置 transitioningDelegate 属性并让委托(delegate)提供过渡动画。

我没有准备好上面的示例代码,但这就是我要研究的。

关于ios - 如何在 viewDidLoad 中执行 UIView animateWithDuration? IOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19033942/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap