在手表应用程序中对图像进行动画处理不起作用(Swift)



我的动画图像有问题。

在我的页面中,我在中间有一个标签,用文本"开始听写"初始化,底部有一个图像,没有图像初始化

这是我的代码:

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))
                }
            }
        })
}

听写完成后,还有一段时间才能显示我的文本。所以,我试着添加动画,看看它正在进行中。

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

我的问题是:有时,当我听写后回到页面时,我发现我的第一个文本"开始听写",而不是我的动画。我尝试了调试模式,并在所有代码中添加了断点和日志。所有操作都按良好的顺序执行,但结果确实是随机的

我还看到,当我使用stopAnimation()时,我的动画不会停止,而当我使用setImageNamed(")时,动画也不会清除。

你能帮我吗?

当我开始动画时,我不在主页上,所以代码被执行了,但"self"不是我的主页。

为了解决这个问题,当我回到主页

时,我只需要调用willActivate函数中的动画

最新更新