【问题标题】:How to change UIImageView's image based on UISwitch's state如何根据 UISwitch 的状态改变 UIImageView 的图像
【发布时间】:2017-01-25 08:24:16
【问题描述】:

我的代码成功构建但显示错误:

2017-01-25 14:05:06.645 项目 4[2500:109254] *** 终止应用程序到期 未捕获的异常“NSUnknownKeyException”,原因: '[ setValue:forUndefinedKey:]:这个类不是键值 关键图像chg的编码兼容。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var myImageView: UIImageView!
    @IBOutlet weak var switchController: UISwitch!

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

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func segmentChanged(_ sender: UISegmentedControl) {
        print(sender.selectedSegmentIndex)
    }

    @IBAction func switchimgchng(_ sender: UISwitch) {
        if switchController.isOn == true {
            myImageView.image = UIImage(named: "appleBlack.png")
        }
    }
}

【问题讨论】:

  • 你的错误日志错误在哪里?????????
  • 2017-01-25 14:05:06.645 项目 4[2500:109254] *** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue: forUndefinedKey:]: 这个类不符合 key imagechg 的键值编码。'
  • @sdp 请编辑您的帖子和其中的错误 :)

标签: ios swift uiswitch


【解决方案1】:

您之前可能已将您的 imageview 连接到不同的 IBOutlet 并在您的班级中将其重命名。删除情节提要中的插座连接并再次链接。

【讨论】:

    【解决方案2】:

    您似乎遇到了@IBOutlet@IBAction 问题。

    确保您已正确连接它们。

    更多参考请查看thisdemo。

    从您的评论中,有一个额外的 @IBOutlet 与您的 UIImageView 相关联,名为 imagechg,因此请删除它。并连接正确的一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 2021-04-06
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多