UIImageView UIImage Строковое значение Swift 4 - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь получить значение String из UIImageView UIImage, когда touchesBegan.

вот весь код 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
    }

}

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете попробовать

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

затем внутри касается

myImageArray[self.myImageView.tag]

Вы также можете объявить переменную для хорошего шаблона, следуя


override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
   print("itemOne name \(myImageArray[itemOne]) , itemTwo name \(myImageArray[itemTwo])")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...