swift - UIImageView UIImage 字符串值 Swift 4

标签 swift string image uiimageview

touchesBegan 时,我尝试从 UIImageViewUIImage 获取字符串值。

这是完整的 View Controller 代码。

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

关于swift - UIImageView UIImage 字符串值 Swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53229201/

相关文章:

c++ - 如何将 map<string, map<int, int>> 的内容打印到 cout 中?

html - 将图像置于中心,左右边距最小

ios - 能运行成功但不能存档?

swift - Swift 中的 MacOS 菜单

java - JUnit 测试用例不工作

python - 如何将字符串作为变量插入到字符串中?

css - 造型图和图标题

javascript - 内联 JavaScript 代码不起作用

swift - UIButton setTitle 不起作用

ios - 检查应用程序是否已安装