UIView touch-event im controller
Wie kann ich UIView touchbegin-Aktion oder touchend-Aktion, die programmgesteuert als Xcode ist nicht die Bereitstellung von Main.storyboard?
- Das eine ist für button, der OP will add event für UIView
- Verwenden Sie eine
UILongPressGestureRecognizer
mit derminimumPressDuration
auf null gesetzt. Lesen Sie diese Antwort. Es nicht erforderlich, dass Erben oder überschreiben nichts.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie es durch den code. Versuchen Sie dies:
Update für Swift 4:
Update für Swift 3:
Aktualisierung @Crashalot Antwort für Swift 3.x:
Aktualisierung @Chackle Antwort für Swift 2.x:
Setzen Sie diese in Ihre
UIView
Unterklasse (es ist am einfachsten, wenn Sie eine Unterklasse für diese Funktionalität).UIView
Sie drücken Sie oder wollen Sie Griff einige Maschinen in jedem derUIView
?Für swift 4
können Sie auf diese Weise verwendete:
Erweiterung anlegen
werden und nutzen auf diese Weise:
Nur ein update zu obigen Antworten :
Wenn Sie wollen, um zu sehen, änderungen im click-Ereignis, d.h. die Farbe Ihrer UIVIew shud Wünsche sich ändern, wenn Benutzer auf die UIView dann änderungen wie unten...
Auch, nennen diese Klasse von Storyboard & ViewController als:
Swift 4.2:
Aktualisierung @stevo.mit der Antwort für den Swift 4.x:
Erstellen Verkaufsstellen von Ansichten, die erstellt wurden, im StoryBoard.
Überschreiben Sie die touchesBegan Methode. Es gibt 2 Optionen, jeder kann bestimmen, welche ist besser für ihn.
Erkennen, berühren in besonderer Aussicht.
Erkennen, touch-point auf spezielle Sicht.
Schließlich müssen Sie erklären die Funktionen, die aufgerufen werden, je nachdem, welche Ansicht der Benutzer geklickt hat.