自定义输入视图中的UIButton不会调用任何方法

时间:2015-11-26 09:29:02

标签: ios uibutton uikit uiinputviewcontroller

我创建了一个自定义输入视图,里面有几个UIButtons。所有这些按钮都会调用一个IBAction。

虽然我100%确定我在IB中正确设置了它,但是没有调用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)
    }

}

enter image description here

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

有谁知道造成这个问题的原因

0 个答案:

没有答案