Wie kann ich programmgesteuert UIView Touchbegin-Aktionen oder Touchend-Aktionen hinzufügen, da Xcode nicht über Main.storyboard bereitgestellt wird?
ios
swift
uiview
uiviewcontroller
Dhaval Shah
quelle
quelle
UILongPressGestureRecognizer
mit derminimumPressDuration
Einstellung auf Null. Siehe diese Antwort. Es ist nicht erforderlich, etwas zu unterordnen oder zu überschreiben.Antworten:
Sie müssen es durch Code hinzufügen. Versuche dies:
quelle
Swift 4/5:
Swift 3:
quelle
Aktualisierung der Antwort von @ Crashalot für Swift 3.x:
quelle
Aktualisierung der Antwort von @ Chackle für Swift 2.x:
quelle
UIView
Fügen Sie dies in Ihre Unterklasse ein (es ist am einfachsten, wenn Sie eine Unterklasse für diese Funktionalität erstellen).quelle
UIView
Sie drücken, oder möchten Sie einige Druckmaschinen in jeder der Tasten handhabenUIView
?Für schnelle 4
quelle
Swift 4.2:
quelle
Erstellen Sie Outlets aus Ansichten, die in StoryBoard erstellt wurden.
Überschreiben Sie die touchBegan-Methode. Es gibt 2 Möglichkeiten, jeder kann bestimmen, welche für ihn besser ist.
Berührung in spezieller Ansicht erkennen.
Berührungspunkt in einer speziellen Ansicht erkennen.
Zuletzt müssen Sie die Funktionen deklarieren, die aufgerufen werden, je nachdem, auf welche Ansicht der Benutzer geklickt hat.
quelle
Sie können Folgendes verwenden: Erweiterung erstellen
und benutze diesen Weg:
quelle
Nur ein Update zu den obigen Antworten:
Wenn Sie Änderungen im Klickereignis sehen möchten, dh die Farbe Ihres UIVIew-Shud ändert sich, wenn der Benutzer auf die UIView klickt, und nehmen Sie die folgenden Änderungen vor ...
Rufen Sie diese Klasse in Storyboard & ViewController außerdem wie folgt auf:
quelle
Aktualisierung der Antwort von @ stevo.mit für Swift 4.x:
quelle