首页 > 解决方案 > 按下触摸隐藏/显示 UIImage,并将数字从 10 倒数到 0

问题描述

  1. 在每次按下触摸时,我都希望 UILabel 从 10 到 0 一个一个地倒数。
  2. 此外,按下时我想显示 UIImageView:“MyRocketWith”,而当释放按下的触摸时,我想显示 UIImageView:“MyRocket”。
class ViewController: UIViewController {

    @IBOutlet weak var MyRocket: UIImageView!
    @IBOutlet weak var MyRocketWith: UIImageView!
    @IBOutlet weak var Countdown: UILabel!

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        let touch: UITouch? = touches.first
        if touch?.view != self.MyRocket {
            self.MyRocketWith.isHidden = true
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

}

标签: swiftxcodeswift5

解决方案


下面的代码显示并隐藏了UIImageView点击UILabel

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var MyRocketWith: UIImageView!
    @IBOutlet weak var CountDownLabel: UILabel!
    @IBOutlet weak var MyRocket: UIImageView!
    var count = 10

    override func viewDidLoad() {
        super.viewDidLoad()
       let tap = UITapGestureRecognizer(target: self, action: #selector(ViewController.tapFunction))
               CountDownLabel.isUserInteractionEnabled = true
               CountDownLabel.addGestureRecognizer(tap)

        MyRocket.isHidden = false
        MyRocketWith.isHidden = true
        MyRocketWith.tag=0
    }

    @IBAction func tapFunction(sender: UITapGestureRecognizer) {
        print("tap working")
        count = count-1
        CountDownLabel.text = String(count)

        if MyRocketWith.tag == 0
        {
            MyRocket.isHidden = true
            MyRocketWith.isHidden = false
            MyRocketWith.tag=1
        }
        else
        {
            MyRocket.isHidden = false
            MyRocketWith.isHidden = true
            MyRocketWith.tag=0
        }
    }
}

推荐阅读