ios - Watch 应用程序中的动画图像不起作用 (Swift)

标签 ios swift animation watchkit wkinterfaceimage

我的动画图像有问题。

在我的页面中,中心有一个标签,用文本“开始听写”初始化,底部的图像初始化为无图像

这是我的代码:

func dictation() {
        let seconds = 1.0
        let delay = seconds * Double(NSEC_PER_SEC)  // nanoseconds per seconds
        let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
        dispatch_after(dispatchTime, dispatch_get_main_queue(), {
            self.label.setText("")
            self.myImage.setImageNamed("frame-")
            self.myImage.startAnimatingWithImagesInRange(NSMakeRange(0, 15), duration: 0.5, repeatCount: 0)
        })
        presentTextInputControllerWithSuggestions([], allowedInputMode: .Plain, completion: { (selectedAnswers) -> Void in
            if ((selectedAnswers != nil) && (selectedAnswers!.count>0) ){
                if selectedAnswers![0] is String {
                    self.myImage.stopAnimating()
                    self.myImage.setImageNamed("")
                    self.label.setText((selectedAnswers![0] as! String))
                }
            }
        })
}

当我的听写完成后,在显示我的文本之前还有一段时间。因此,我尝试添加动画以查看其正在进行中。

在这里,我想开始我的听写,在后台开始我的动画并清除我的文本。而且,当我的演讲准备好显示时,我想停止并清除动画并打印我的文本。

我的问题是:有时,当我在听写后返回页面时,我发现我的第一个文本“开始听写”而不是我的动画。 我尝试使用 Debug模式,并添加了断点并记录了所有代码。一切都按良好顺序执行,但结果确实是随机的..

我还发现,当我使用 stopAnimating() 时,我的动画不会停止,并且当我使用 setImageNamed("") 时,我的动画不会清除。

你能帮我吗?

最佳答案

当我开始动画时,我不在主页上,因此代码被执行,但“self”不是我的主页。

为了解决这个问题,我只需在返回主页时在 willActivate 函数中调用动画

关于ios - Watch 应用程序中的动画图像不起作用 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38521285/

相关文章:

Swift:沿路径部分移动 UIImage

ios - SwiftUI:Spacer 在 ScrollView 中不起作用

iOS UITableView reloadData 仅更新我添加的最后一个条目,如何重新加载所有内容?

swift - swift 关闭当前 View Controller 下的所有 View Controller

swift - CIImage 像素的 RGB 值

CSS3滤镜模糊关键帧动画

iOS 应用内购买 : Auto-renewable subscriptions by own system user account

ios - 一起使用 TouchDB 和 FMDB 包装器时出现重复符号错误

ios - 为什么模拟器只有12行?

javascript - Jquery animate() 一次然后停止