ios - 按下 UIButton 时,在 ImageView 中更改图像

标签 ios swift swift3

我是 Swift 的新手,正在尝试制作按钮。我想在按下按钮时启动计时器并更改 ImageView 中的图像。

我的代码;

@IBOutlet weak var label: UILabel!

func start()
{
    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(ViewController2.updateTime as (ViewController2) -> () -> ())), userInfo: nil, repeats: true)

}

func updateTimer () {
    count += 1
    let hours = Int(count) / 3600
    let minutes = Int(count) / 60 % 60
    let seconds = Int(count) % 60
    label.text = String(format: "%02i:%02i:%02i",hours,minutes,seconds)
}

func reset()
{
    timer.invalidate()
    count = 0
    label.text = "00:00:00"

}

@IBAction func buttonPressed(sender : UIButton)
{
    if sender.currentTitle == " "
    {
        sender.setTitle("", for: UIControlState.normal)
        reset()
    }

    else

    {
        sender.setTitle(" ", for: UIControlState.normal)
        start()
    }
}

@IBOutlet weak var image: UIImageView!
@IBAction func tick(sender: UIButton)
{

    if checked
    {
        sender.setImage( UIImage(named:"Rectangle1.png"), for: [])

        checked = false
    }
    else
    {
        sender.setImage(UIImage(named:"Rectangle2.png"), for: [])

        checked = true
    }
}

不幸的是,当我按下按钮时,改变了按钮的图片。如何更改 ImageView 中的图像?

最佳答案

您正在设置发件人图像..这是您的 UIButton..更改这部分代码

错误:

sender.setImage(UIImage(named:"Rectangle1.png"), for: [])
...
sender.setImage(UIImage(named:"Rectangle2.png"), for: [])

右:

image.image = UIImage(named:"Rectangle1.png")   
...
image.image = UIImage(named:"Rectangle2.png")

关于ios - 按下 UIButton 时,在 ImageView 中更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45487838/

相关文章:

ios - UISearchBar 的自定义 InputView 在 iOS7 中不起作用

ios - 在推送到详细导航时设置 UISplitViewController 的 preferredDisplayMode

ios - 如何回到 Root View Controller

swift - 如何限制两条锚定线的运动,使它们像钟摆一样不断摆动

ios - iOS 应用程序中的 line 有一个线程断点

ios - 在iOS中从新的Facebook SDK 4中获取用户个人资料图片

ios - 如何从用户默认值 swift3 的字典数组中删除特定键值

ios - 按下时更改 UIButton 颜色

swift - 将 NSTimInterval 转换为整数 Swift

ios - 快速将自定义控件添加到 AVPlayer