![]() |
iOS9 Erkennen ob Maus (Touch) ist gedrückt
Hallo zusammen,
ich habe im Moment ein Problem mit MouseEvents, welche doppelte, mehrfache OnMouseUp Events feuert bei einen kontinuierlichem Ziehen mit dem Finger auf einem Image. Dehalb möchte ich Folgendes versuchen: - im OnMouseUp Event checken ob noch ein Touch drauf ist oder nicht, in der Hoffnung das dann wieder synchron zu bekommen. Wohlgemerkt: unter Android, OSX, Win32 läuft alles prima mit den Events, nur iOS9 zickt wie üblich. Ich sehe in den Fmx Soucen das die MouseUp/Move/Down Events aus den touchesBegan, touchesMove etc. von iOS generiert werden. Dabei werden wohl an vershciedenen Stellen MouseUp gefeuert (z.B. habe ich den OnLongTap als Übeltäter im Verdacht). Wie auch immer: Ich möchte versuchen de momentane Anzahl an Touches (ein Finger der sich wie eine mbLeft Mouse verhalten soll) auszulesen, also wie eine Art "IsMousePressed" auf dem Phone. Dazu habe ich gefunden wie man Tasten unter MacApi abfragt, leider gibt es das nicht unter iOS ![]() ![]() ![]() So werden die Touches unter iOS behandelt. ![]() ![]() Hat vielleicht jemand eine Idee wie ein "IsMousePressed" oder "GetTouchesCount" schnell und einfach abzufragen wäre, als Workaround ? Rollo (Rx10 ohne Upd1, XCode 7.1, Win8.1, VmWare Fusion 8.1) |
AW: iOS9 Erkennen ob Maus (Touch) ist gedrückt
Das Problem hängt wohl damit zusammen das nach kurzer Zeit (ca. 0.5 sec.) ein
touchesCanceled vom iOS gesendet wird, wenn der Finger auf derselben Stelle bleibt. Dies wird dann als MouseUp an die Forms etc. gesendet. Also wenn der Finger bewegt wird ist alles OK, aber wenn man Finger drückt und hält dann kommt solche ein falscher Event. Dazu kommt noch das in FMX.Platform.iOS das touchesCancelled in Touches.Up uminterpretiert wird, so das man keine Chance hat das überhaupt zu analysieren. Damit ist dann aber die ursprüngliche Funktion gecancelled, weil man nicht weiss woher das MouseUp kommt. Da habe ich mir gerade das FMX.Platform.iOS vorgenommen, aber ich hoffe noch das es einen einfacheren Weg gibt um das abzustellen. Wenn das mit LongTap o.ä. zusammenhängt, gibt es eine Möglichkeit das in iOS abzuschalten ? Oder hat jemand eine andere Idee wie man das lösen kann ? Rollo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz