358 Stimmen

UIButton entfernt alle Ziel-Aktionen

Ich habe mehrere target-action-forControlEvents: zu einer UIButton hinzugefügt. Ich möchte alle diese in einem Rutsch zu entfernen, ohne deallocating etwas. Ich werde dann neue Ziele setzen.

Ist dies möglich und wie gehe ich dabei vor?

0voto

Divesh singh Punkte 383

Können Sie den Selektor ändern, wenn er an Bedingungen geknüpft ist. siehe Beispiel unten

können Sie zunächst alle Ziele entfernen, dann den Selektor auswählen und ihn hinzufügen.

rateButton.removeTarget(nil, action: nil, for: .allEvents)

    let action = interview.isRated ? #selector(viewTapped(_:)) : #selector(rateTapped(_:))

    rateButton.addTarget(self, action: action, for: .touchUpInside)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X