Привязка кнопок в пользовательском представлении iOS (.XIB) не работает - PullRequest
0 голосов
/ 09 ноября 2018
 protocol CustomViewAction: class {
  func customActionButton(_ sender: UIButton)
 }

 class MainFooter: UIView { 
   weak var delegate: CustomViewAction?

   @IBAction func languageButton(_ sender: UIButton) {
     self.delegate?.customActionButton(sender)
   } 
   private func loadNib() {...}
 }


class MainCont: CustomViewAction {
 ...
 let mainFooter = MainFooter()
 mainFooter.frame = view.frame
 mainFooter.delegate = self

 func customActionButton(_ sender: UIButton) {
  ... not working
 }
}

Есть пользовательский вид. Интерфейс кнопки настраиваемых действий реализован в главном контроллере. Этот код не работает ... Почему?

1 Ответ

0 голосов
/ 09 ноября 2018

Это очень плохой код) Исправьте пожалуйста

protocol CustomViewDelegate: class {
 func actionTouchCustomView(button:UIButton)
}


class MainFooterView: UIView { 
weak var delegate: CustomViewDelegate?

 //MARK: Handle Actions
@IBAction func handleTouchActionLanguageButton(_ sender: UIButton) {
 self.delegate?.actionTouchCustomView(sender)
} 

 //MARK: Life cycle
private func loadNib() {...}
}

class MainCont: CustomViewDelegate {
...
let mainFooter = MainFooter()
mainFooter.frame = view.frame
mainFooter.delegate = self

//MARK -  CustomViewDelegate
func actionTouchCustomView(button:UIButton) {
... not working
}
}
  1. Проверьте действие кнопки ссылки в XIB или раскадровке.
  2. Проверьте время жизни "let mainFooter".Может быть, объект мертв
...