ios – 苹果手表 – 第一次缓慢的图像动画

ios – 苹果手表 – 第一次缓慢的图像动画,第1张

概述我正在构建一个苹果手表的小应用程序.我里面有一个Group和一个Label.我要做的是: >动画组的背景图像 >图像动画结束后,淡入标签 我的代码看起来基本上是这样的: group.setBackgroundImageNamed("show_back-"); group.startAnimatingWithImagesInRange(NSMakeRange(0, 39), dura 我正在构建一个苹果手表的小应用程序.我里面有一个Group和一个Label.我要做的是:

>动画组的背景图像
>图像动画结束后,淡入标签

我的代码看起来基本上是这样的:

group.setBackgroundImagenamed("show_back-");        group.startAnimatingWithImagesInRange(NSMakeRange(0,39),duration: 1.5,repeatCount: 1);        let delayTime = dispatch_time(disPATCH_TIME_Now,Int64(1.5 * Double(NSEC_PER_SEC)))        dispatch_after(delayTime,dispatch_get_main_queue()) { () -> VoID in            self.animateWithDuration(1) { () -> VoID in                self.label.setAlpha(1)            };        };

问题是,第一次触发序列,图像动画似乎运行速度慢于1.5秒,因为标签在图像停止改变之前开始衰落.如果在应用程序运行时再次触发,则一切正常工作.我想它与图像预加载或某些东西有关.

如何使其一致工作?我找不到任何类型的回调图像序列动画结束订阅.

编辑
另一个我注意到的一个问题:当bg从dispatch_after块中动画化时,还有另外一个例子,当我通过点击表冠离开应用程序并通过双击它返回时,dispatch_after块不被触发,或者背景动画在第一次被调用时不能正确渲染(我认为第二个,因为我尝试在调度块中添加一个断点,并在每次测试时触发它).
我正在运行watchOS2,所以也许这与 *** 作系统目前处于beta状态有关?

解决方法 我遇到了同样的问题.

这是因为您第一次尝试时,手表需要时间才能加载图像.苹果也没有给我们任何“预加载”的方法,所以我想出了一些工作:
当我的控制器显示时:

func willActivate()

我在后台播放动画序列,这样当我的用户点击它的图像已经加载.

dispatch_async(dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_DEFAulT,0)) { [weak self] in            if let uSelf = self {                uSelf.statusAnimationImage.setimagenamed("my image name")                uSelf.statusAnimationImage.startAnimatingWithImagesInRange(NSMakeRange(0,359),duration: 0.5,repeatCount: 1)            }        }

这是我找到解决这个问题的最好办法,它适用于我.

总结

以上是内存溢出为你收集整理的ios – 苹果手表 – 第一次缓慢的图像动画全部内容,希望文章能够帮你解决ios – 苹果手表 – 第一次缓慢的图像动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存