Цель
При нажатие на кастомную кнопку, в другом кастомном классе подкласса UIView что-то сделать
Что я сделал
Это кастомная кнопка:
protocol CHNumberKeyboardModifyDelegate: class where Self: CHDotsContainer {
func modify()
}
class CHNumberKeyboardButton: UIButton {
weak var chNumberKeyboardModifyDelegate: CHNumberKeyboardModifyDelegate?
@objc func touch(_ sender: UIButton!) {
chNumberKeyboardModifyDelegate?.modify()
}
}
Это кастомный UIView, где нужно что-то сделать при нажатие на кнопку выше:
class CHDotsContainer: UIView, CHNumberKeyboardModifyDelegate {
func modify() {
print("touched")
}
}
Но дело в том, что я не знаю, как сделать так, чтобы кастомный UIView подписался на делегат.
В init класса это не работает. Я так понимаю, потому что я создаю кнопку, но самой кнопки нет и поэтому не срабатывает делегат.
let button = CHNumberKeyboardButton()
button.chNumberKeyboardModifyDelegate = self
Вопрос
Как мне в этом случае поступить?
Так как кнопки я создаю в другом месте, но мне нужно и подписать UIView на делегат UIButton.
Чтобы понимали о каких кнопках идет речь, скриншот:
Кнопки цифры - кастомные кнопки. А точки выше - это кастомный UIView