按下按钮后

时间:2018-11-06 19:40:20

标签: ios swift

我正在制作一个非常简单的iOS应用。我按一个按钮,图像改变。我遇到的问题是每次我按下按钮时,就像按钮进入手机模拟器的底部并位于我最初按下的按钮之上。

此外,图像只会消失一秒钟,然后消失。 (我假设这些动作是并行的)。

以下是任何人都可以提供帮助的代码。

import UIKit

class ViewController: UIViewController {
    @IBAction func generateHero(_ sender: UIButton) {
        //list of Images in array
        let image : NSArray = [ UIImage(named: "batman.jpg")!,
                                UIImage(named: "the-flash.jpg")!,
                                UIImage(named: "Deadpool.jpg")!,
                                UIImage(named: "green-arrow.jpg")!,
                                UIImage(named: "iron-man.jpg")!]

        //random image generating method
        let imagerange: UInt32 = UInt32(image.count)
        let randomimage = Int(arc4random_uniform(imagerange))
        let generatedimage: AnyObject = image.object(at: randomimage) as AnyObject
        self.heroImage.image = generatedimage as? UIImage
    }

    @IBOutlet weak var heroImage: UIImageView!
}

1 个答案:

答案 0 :(得分:1)

您在随机图像生成中做了很多不必要的转换,如果您使用 Array 而不是 NSArray ,则可以使用.randomElement()函数来返回随机元素的数组。所以你会做 self.heroImage.image = image.randomElement()