Ich habe 4 UIButtons
in einem UIScrollView
. Die Ansicht Hierarchie ist wie:
UIButtons IBAction-Methode ausgeführt nach Verzögerung in Swift
UIViewController-> UIView-> UIScrollView-> UIView-> UIView-> UIButton
ich die IBAction
für respektierten angeschlossen haben UIButton
mit TouchupInside
von UIStoryboard
.
Mein Problem ist, wenn ich auf UIButton
klicke, wird es markiert, aber die respektierte IBAction
Methode wird nicht zu der Zeit aufgerufen. Die Aktion wurde aufgerufen, nachdem ich ein anderes Steuerelement wie UITextField
oder ein anderes bearbeitbares Steuerelement ausgewählt habe. Ich kann das Problem nicht verstehen.
Ich habe versucht, die Aktion auf die UIButton
auch wie programmatisch hinzuzufügen: gleiche
self.newProductNotifBtn?.addTarget(self, action: #selector(notifCheckMarkBtnClicked), forControlEvents: .TouchUpInside)
Aber das Ergebnis ist. Keine Aktion für die Methode wird zur gleichen Zeit ausgeführt wie sie ausgewählt wurde.
Die Vorschläge werden geschätzt.
Sind Sie sicher, dass Sie es für touchUpInside hinzugefügt haben und nicht einen anderen Selektor? –
Ja, ich habe es zweimal überprüft. –
Es könnte sein, dass Sie das scrollviews viewDidBeginScrolling-Ereignis auslösen und nicht Ihre buttons touchUpInside-Ereignis (oder andere Ereignisse, die Sie möglicherweise in Ihren Ansichten haben) –