Ich denke schon seit einiger Zeit darüber nach und habe keine passende Antwort darauf gefunden.Swift - Leistung von `UIGestureRecognizer`, wenn ich viele von ihnen habe
Wie performant sind UIGestureRecognizer
in Swift/iOS-Entwicklung?
mich Ihnen ein theoretisches Beispiel erklären lassen, indem sie: Sie haben eine App auf dem iPad Pro (großen Bildschirm, viel Platz) und dort haben Sie vielleicht Dutzende von verschiedenen views
und buttons
und so weiter. Aus welchem Grund auch immer benötigen Sie alle diese views
und buttons
beweglich/anklickbar/resizable/...
Was ist besser?
- ein Hinzufügen (oder mehrere)
UIGestureRecognizer(s)
zu jeder Ansicht (die viele aktive Geste Erkenner und viele kleine, spezifische Handhabungsverfahren ergibt [möglicherweise für jede Art vonview
gruppiert]) - ein Hinzufügen einzelner Erkennungseinrichtung zum
superview
(die in einem aktiven Gestenerkenner und ein großen Handhabungsverfahren resultiert, die durch diesubviews
zu Zyklus benötigt, und bestimmen, welches angezapft wurde)
Ich denke, der erste ist der einfachste, aber ist er langsamer als der zweite? Da bin ich mir nicht sicher. Mein Magen sagt mir, dass so viele UIGestureRecognizers
keine gute Lösung sein können.
Aber so oder so muss das System alles durchlaufen (im schlimmsten Fall), sei es viele Erkenner oder viele subviews
. Ich bin neugierig darauf.
Danke
>>> Aus irgendeinem Grund müssen Sie jede dieser Ansichten und Schaltflächen beweglich/anklickbar/veränderbar sein/... Sie brauchen es in einem Moment für alle Elemente oder basierend auf einigen Staat nur ein Teil von ihnen muss sein beweglich/anklickbar/veränderbar /? –
"(...) indem ich Ihnen ein theoretisches Beispiel gebe (...)" - Es ist nichts Konkretes oder Wirkliches, ich mache keine App mit diesem oder ähnlichem. Es ist ein theoretisches Worst-Case-Szenario, in dem Sie jede einzelne Ansicht, die Sie auf dem Bildschirm sehen, verschieben/klicken/skalieren können. Nicht für einen einzigen Moment, sondern für immer, im Grunde genommen. Zu jedem Zeitpunkt sollten Sie in der Lage sein, eine beliebige Ansicht zu verschieben/tippen/.... – Quantm