@IBAction func 不会同时与 UILabel 和 UIButton 一起运行



这是我的ViewController:

import UIKit
var optionChoice: Int = 0
class ViewController: UIViewController {
@IBOutlet weak var storyLabel: UILabel!
@IBOutlet weak var optionOne: UILabel!
@IBOutlet weak var optionTwo: UILabel!
@IBOutlet weak var optionThree: UILabel!
@IBOutlet weak var optionFour: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func optionPressed(_ sender: AnyObject) {
optionChoice = sender.tag
print(optionChoice)
}

我一直在为点击创建一个@IBAction功能来设置 选项选择 = sender.tag,但没有结果。它也不会从 IBAction 函数中打印 optionChoice,因此它显示它未运行。

当我使用 UIButtons 而不是标签重做此操作时,发生了相同的结果,除了我可以看到按钮从动画中成功按下。

当我删除optionChoice = sender.tag并将其替换为 if/else 语句时

if sender.tag == 1 {
optionChoice = 1 }

我仍然有同样的问题 - @IBAction仍然没有运行。

注意:默认情况下,override func didReceiveMemoryWarning()仍然存在于底部的代码中,但我没有将其包含在代码段中以节省空间。

我检查了其他问题,我认为这不是重复的,因为其他问题有多个视图控制器,并且正在将该功能解析到其他屏幕,或者类似的内容。我有一个简单的测试屏幕,只概述了对象。

任何帮助将不胜感激 - 谢谢!

有了标签,就不足为奇了,因为默认情况下标签是不可点击的。

使用该按钮,它可以点击,但除非您在情节提要中配置从按钮的 Touch Up Inside 控件事件到视图控制器中的optionPressed方法的操作,否则不会发生任何操作。

最新更新