alc*_*iss 15 ios swift apple-watch watchkit watchos-2
我正在为苹果手表构建一个小应用程序.我里面有一个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)
};
};
Run Code Online (Sandbox Code Playgroud)
问题是,第一次触发此序列时,图像动画的运行速度似乎慢于1.5秒,因为标签在图像停止变化之前开始淡入淡出.如果在应用程序运行时再次触发此操作,则一切都按预期工作.我想它与图像预加载或其他东西有关.
我怎样才能让它始终如一?我无法在图像序列动画上找到任何类型的回调来订阅.
编辑 我注意到的另一个问题:我有另一个案例,当bg从dispatch_after块动画时,当我通过点击表冠离开应用程序并通过双击它返回时,或者没有触发dispatch_after块,或者背景动画在第一次调用时没有正确呈现(我想第二次,因为我尝试在调度块中添加一个断点,并且每次测试时都会触发).我正在运行watchOS2,所以它可能与操作系统目前处于测试状态有关吗?
尝试做
group.setBackgroundImageNamed("show_back-");
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
group.startAnimatingWithImagesInRange(NSMakeRange(0, 39), duration: 1.5, repeatCount: 1);
self.label.setAlpha(1)
};
};
Run Code Online (Sandbox Code Playgroud)
我不太确定你在做什么,但也尝试做 animateWithDuration(0) 或 (1.5)
归档时间: |
|
查看次数: |
738 次 |
最近记录: |