UIImageView UIImage 字符串值 Swift 4

UIImageView UIImage String Value Swift 4

我试图在 touchesBegan 时从 UIImageViewUIImage 获取字符串值。

这里是完整的 viewcontroller 代码。

import UIKit

class ViewController: UIViewController {

    //MARK: Outlets
    @IBOutlet weak var imageOne: UIImageView!
    @IBOutlet weak var imageTwo: UIImageView!

    @IBOutlet weak var myText: UILabel!

    let imagesArray = ["banaan", "auto", "kip", "boom" ]

    var questionArray: [String] = []

    var touchArray: [CGPoint] = []

    var itemOne: Int!
    var itemTwo: Int!


    override func viewDidLoad() {
        super.viewDidLoad()
        setupQuestions()
        setupImages()
    }

    //MARK: Randomizing The Lable Question
    fileprivate func setupQuestions() {
        let firstRandomizer = arc4random_uniform(UInt32(imagesArray.count))
        let secondRandomizer = arc4random_uniform(UInt32(imagesArray.count))
        itemOne = Int(firstRandomizer)
        itemTwo = Int(secondRandomizer)

        if itemOne == itemTwo && itemTwo != 0 {
            itemTwo -= 1
        } else if itemOne == itemTwo && itemTwo == 0 {
            itemTwo += 1
        }


        myText.text = """
        selecteer de \(imagesArray[itemOne].capitalized)
        voor dat je de \(imagesArray[itemTwo].capitalized) selecteert
        """
    }

    //Mark: setup images and randomizeing
    fileprivate func setupImages() {
        imageOne.image = UIImage(named: imagesArray[itemOne])
        imageTwo.image = UIImage(named: imagesArray[itemTwo])
    }


    //MARK: Button Randomizer
    @IBAction func nextBtnWasPressed(_ sender: Any) {
        setupQuestions()
        setupImages()
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        //Get image stringvalue to compare it with the question array
    }

}

你可以试试

self.myImageView.image = UIImage(myImageArray[0])
self.myImageView.tag = 0

然后内部接触

myImageArray[self.myImageView.tag]

您还可以在

之后为好的模式声明一个 var
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
   print("itemOne name \(myImageArray[itemOne]) , itemTwo name \(myImageArray[itemTwo])")
}