0

我创建了一个自定义输入视图,其中包含几个 UIButton。所有这些按钮都调用一个 IBAction。

尽管我 100% 确定我在 IB 中正确设置了 IBAction,但没有调用 IBAction。为了证明这不会导致问题,我以编程方式向其中一个按钮添加了一个目标,但该操作仍然不会被调用。

import UIKit


protocol CashDeskInputDelegate: class {

    func didReceiveInput(inputValue: String)
    func didReceiveDoneMessage()
}

class CashDeskInputViewController: UIInputViewController {

    // Delegate
    weak var delegate: CashDeskInputDelegate?

    // Actions
    @IBAction func buttonTapped(sender: UIButton) {

        print("buttonTapped")

        guard let valueOfSender = sender.titleLabel?.text else {
            dismissKeyboard()
            return
        }

        valueOfSender == "Done" ? delegate?.didReceiveDoneMessage() : delegate?.didReceiveInput(valueOfSender)
    }



    // Test outlet
    @IBOutlet weak var firstButton: UIButton!

    override func viewDidLoad() {
        // Add an action to the first button for testing purposes.
        firstButton.addTarget(self, action: "buttonTapped:", forControlEvents: .TouchUpInside)
    }

}

在此处输入图像描述

我还没有正确实现委托,但这不是重点。print("buttonTapped") 甚至不会出现。该方法没有被调用,我使用断点进行了测试。

有谁知道是什么导致了这个问题

4

0 回答 0