UIImage出现在屏幕上后执行阻止

时间:2018-05-10 05:16:39

标签: swift uiimageview

我有一个UIImageView,并且(表面上)在为视图分配新图像后,我正在切换按钮的行为。我的问题是,在图像实际出现在屏幕上之前,按钮行为正在切换。以下是我正在看的内容的一个例子:

import UIKit

class MyViewController: UIViewController {
    @IBOutlet weak var Image: UIImageView!
    @IBOutlet weak var Touch: UIButton!

    var touchCounter : UInt8 = 0
    var touchStart : Bool = true
    var touchCount : Bool = false

    func start() {
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            self.Image.image = UIImage(named: "MyStartImage")
            self.touchCount = false
        }
    }

    func end() {
        self.Image.image = nil
    }

    @IBAction func screenTouch(_ sender: Any) {
        if self.touchCount == true {
            self.touchCounter += 1
        } else if touchStart == true {
            self.touchStart = false
            self.touchCount = true
            self.start()
        } else {
            self.end()
        }
    }

问题是,如果我只是在屏幕上按下mash,我从未真正看到过该图像。在图像实际显示在屏幕上之后是否有一些执行代码块的方法?我理想地寻找一种非常精确的解决方案。实际上这个代码是在实时线程中执行的,我在查询图像视图到我的图像和切换按钮的行为之间查询mach_absolute_time()。

0 个答案:

没有答案