Auf Mac kann man immer die Position der Maus "außerhalb des Ereignisstroms" erhalten (dh, selbst wenn Sie keine Delegiertenmethoden für mouseUp:
und andere abonniert haben), indem Sie [NSEvent mouseLocation]
aufrufen.Berührungen beim Start unter iOS
Gibt es eine Möglichkeit auf iOS, aktuelle Touch-Ereignisse zu erhalten, ohne auf touchesBegan:
zu hören?
Ich frage, weil es zumindest eine Situation, in der touchesBegan nicht aufgerufen wird: bei App-Start, wenn ein Touch bereits im Gange ist, wird touchesBegan nie genannt. Tatsächlich werden auch keine der berührungsbezogenen UIEvent-Methoden so genau aufgerufen, wie ich sagen kann (anscheinend auch nicht die von UIApplication/UIWindow sendEvent:
).
Ich möchte das Verhalten meiner App leicht abhängig davon variieren, ob beim Start eine Berührung stattfindet. Gibt es eine Möglichkeit, beim App-Start eine in Bearbeitung befindliche Berührung zu erkennen??
Was bedeutet "zum Start der App" für Ihre Anwendung? Machst du zeitaufwendige Aktionen am Hauptthread zur Ladezeit? – yurish
"bei App-Start" ist "wenn der Benutzer auf das App-Symbol auf dem Sprungbrett tippt und die App öffnet". Touch-Events nicht zu bekommen, ist * nicht *, weil die App übermäßig belastet wird mit starker Verarbeitung; Das liegt daran, dass Berührungen, die beim Öffnen der App ausgeführt werden, nicht auf die übliche Weise an die App übermittelt werden. Ich versuche herauszufinden, ob irgendjemand einen Weg außerhalb der normalen Schleife kennt, vielleicht Subclassing und Overriding, um Berührungen zu erhalten, die willkürlich von irgendeiner Methode zu irgendeiner Zeit ausgeführt werden. – SG1
Ich denke, das ist nicht möglich. UIApplication ist nicht für Unterklassen geeignet und das ist der Einstiegspunkt für Ihre Anwendung –