Ich mache eine App auf Xcode und ich benutze UI-Tasten. Ich benutze Bildhintergrund und stelle ein Bild von einem Wal in PNG-Form. Ich will es so, dass wenn ich auf den Wal drücke, wird es einen Zähler erhöhen. Ich möchte den Zähler nicht erhöhen, wenn der Hintergrund/transparente Teil der Taste gedrückt wird. Ich möchte den Zähler nur erhöhen, wenn der innere Teil des Wals gedrückt wird. Wie mache ich das? Ein UIButton reagiert immer auf Berührungen innerhalb seiner gesamten Grenze. Wie entferne ich diese Einschränkung?Wie mache ich eine geformte UI-Taste auf Swift 3?
Antwort
einen Bezier-Pfad in der Ziehfunktion einer Subklasse UIControl Render
Dies hat keinen Einfluss darauf, ob der Tap im Image registriert ist oder nicht. – rmaddy
Gut Skeeter, ein kleines bisschen von Ihrer Seite würde Sie informieren, dass meine Antwort das OP in die richtige Richtung zeigt, anstatt ein Schlag für Schlag Rezept. Für andere außer dem Abstimm-Muddy-Lesen hat UIControl Funktionen zum Übersteuern für Taps, bei denen geprüft werden kann, ob der Tap-Punkt innerhalb des Bezier-Pfads liegt oder nicht. –
Die Frage ist zu fragen, wie man mit den Berührungen nur innerhalb der Bildform umgehen soll. Wie hilft die Aussage, einen Bezierpfad zu rendern, dazu? Es tut es nicht. Diese unzusammenhängenden Informationen weisen das OP nicht in die richtige Richtung. – rmaddy
Eine Alternative einen UIButton zu verwenden ist eine CAShapeLayer zu verwenden. Sei der Inhalt dein Wal - ich stimme mit @rmaddy überein, hoffe, es ist groß genug! - Fügen Sie der Ansicht einen Tap Recognizer hinzu und verwenden Sie die Methode hitTest() des CALayers, um festzustellen, ob sie angetippt wurde.
- 1. Wie mache ich eine richtige Kollisionserkennung in SpriteKit, Swift 3
- 2. Wie mache ich Aufgabe warten auf Fertigstellung in Swift 3
- 3. Wie mache ich mehrere Farben Tableiste in Swift 3
- 4. Wie verwende ich MPMedaPickerController auf swift 3?
- 5. Wie mache ich eine 3-Tier mit PHP
- 6. Wie mache ich eine grundlegende Implementierung von Delegation in Swift?
- 7. Wie mache ich eine if-Anweisung für 3 Variablen?
- 8. Wie mache ich schwache Verbindungen in Swift?
- 9. Wie mache ich eine compareTo-Methode für 3 Kreise?
- 10. Wie mache ich eine neue Zeile in swift?
- 11. Wie mache ich Klassenmethoden/Eigenschaften in Swift?
- 12. Wie eine Zelle auf eine Funktion in Tableview swift 3
- 13. Wie mache ich eine Zeitsequenz?
- 14. CanBecomeFocused auf swift 3
- 15. Ich möchte nicht die gleichen Worte in swift 3 wiederholen, wie mache ich das?
- 16. UIPickerView auf Swift 3
- 17. geformte Schatten mit Zauberstab
- 18. Wie mache ich eine Knopfanimation?
- 19. Swift 3 Wie programmatisch ein Bild auf eine Schaltfläche ist
- 20. Wie verwende ich XCTestSuite? (Swift 3)
- 21. Wie benutze ich BFTask mit Swift 3?
- 22. Swift 3 - Wie bekomme ich Fehlerursprungsinformationen?
- 23. Kann ich in HTML5 eine unregelmäßig geformte Textbox erstellen?
- 24. Wie mache ich eine automatische Vervollständigung auf HMVC Codeigniter?
- 25. Wie benutze ich Swift 3 scheduleRepeating?
- 26. NSLocalizedString Laufzeitfehler auf Swift 3
- 27. Swift 3, wie Constraints auf jedem Gerät
- 28. Wie mache ich eine Arraylist public
- 29. Swift 3: Filter eine Reihe
- 30. Wie mache ich eine saubere asynchrone Schleife?
Ist dies wirklich notwendig auf einem echten iOS-Gerät, wo das Berühren des Knopfes mit einem Finger viel weniger präzise ist als das Klicken auf den Knopf im Simulator mit einem Mauszeiger? – rmaddy