UIButton внутри пользовательского представления ввода не вызывает никаких методов
Я создал пользовательский вид ввода с парой UIButton-ов внутри. Все эти кнопки вызывают один IBAction.
IBAction не вызывается, хотя я на 100% уверен, что правильно установил их в IB. Чтобы доказать, что это не вызывает проблемы, я программно добавил цель к одной из кнопок, но действие все равно не будет вызвано.
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)
}
}
Я еще не реализовал делегата должным образом, но это не главное. Печать ("buttonTapped") даже не будет отображаться. Метод просто не вызывается, я проверял это с помощью точек останова.
Кто-нибудь знает, что вызывает эту проблему