2016-11-21 3 views
8

Meine App hat ziemlich viele Schaltflächen auf jedem Bildschirm sowie einen UIBarButtonItem-Zurück-Button und ich habe Probleme mit Leuten, die Multi-Klick-Buttons haben können. Ich brauche nur einen Knopf, um anklickbar zu sein.So deaktivieren Sie Multi Touch auf UIBarButtonItems & UI-Schaltflächen?

Weiß jemand, wie man eine UIBarButtonItem Back-Taste exklusiv zum Berühren macht?

Ich habe es geschafft, Mehrfachklick auf die UIButtons zu deaktivieren, indem ich die Ansicht jedes auf isExclusiveTouch = true setze, aber dies scheint nicht für die Zurück-Schaltfläche in der Navigationsleiste zu zählen.

Die Schaltfläche "Zurück" scheint nicht mit "ExclusiveTouch" übereinzustimmen.

Hat jemand eine einfache Arbeit um das Codieren nicht alle Tasten senden Ereignisse?

Vielen Dank,

Krivvenz.

Antwort

1

Sie könnten eine Erweiterung für UIBarButtonItem schreiben, um isExclusiveTouch hinzuzufügen?

+1

Ich glaube nicht, dass es das beheben wird, da das UIBarButtonItem nicht "auf der gleichen Ebene" wie die anderen Schaltflächen zu sein scheint. Ich frage mich allerdings, ob eine Art Protokoll oder Delegiertenmethode funktionieren würde. – Krivvenz

+1

Was ist mit dem Schreiben Ihrer eigenen Erweiterung für beide Button-Typen und dann können Sie eine Überprüfung für entweder als AnyObjects? – AMAN77

+1

Können Sie bitte ein Codebeispiel dafür überhaupt bereitstellen? :). – Krivvenz

1

können Sie einfach die Multi-Touch-Eigenschaft der Super-Ansicht deaktivieren. Sie können diese Eigenschaft auch im Storyboard finden.

enter image description here

+0

Hallo Aman, alle meine Bildschirme haben bereits Multi Touch ausgeschaltet ... standardmäßig denke ich. Es behebt das Problem nicht. – Krivvenz

3

Sie einfach exklusiven Touch ermöglichen kann dies bis mehrere Berührungs stoppen zuerst berühren nicht

buttton.exclusiveTouch = true 
0

Sie für die Szene versuchen dies geschehen könnte, wo Sie mehrere Touch deaktivieren möchten.

let skView = self.view as! SKView 
skView.isMultipleTouchEnabled = false