我正在为苹果手表打造一个小应用程序。我在里面有一个组和一个标签。我正在试图做的是: 苹果手表 - 慢镜头动画第一次
- 动画背景图像结束
我的代码看起来基本上是这样的:
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块没有被触发,或者第一次被调用时背景动画不能被正确渲染(我想第二个,因为我试图在dispatch块中添加一个断点,并且每次测试都会触发它)。 我正在运行watchOS2,所以它可能与操作系统当前处于测试状态有关?
你使用模拟器吗? – needshelp
@needshelp不,我正在测试一个真实的设备;在模拟器上一切正常。 – alchemiss
你的图像大小是多少? – Swinny89