![]() |
Gestures unter iOS
Hallo.
Ich kämpfe jetzt schon länger mit den Gesten unter iOS und drehe mich im Kreis. Eine Mobile-App mit mehreren Seiten, die mittels TTabControl realisiert sind. Zurück zur letzten Seite soll man mittels Wischen nach rechts gelangen. Dem TabControl ist dafür ein GestureManager zugewiesen, Touch-Gestures-Standard-Right ist markiert. Im Event OnGesture wird EventInfo ausgewertet und bei sgiRight wird zum letzten Tab zurückgesprungen. Soweit, so richtig. Unter Android funktioniert es auch zuverlässig. Unter iOS ist es noch ok, wenn sich ein ListView auf dem Tab befindet. Anders ist es beispielsweise bei einer enthaltenen ListBox oder einer VerticalScrollbox als Hauptelement auf dem Tab: 1. Ist ListBox.HitTest=true, dann funktioniert das vertikale Scrollen der Listbox, TabControl.OnGesture wir aber nicht aufgerufen. 2. Ist ListBox.HitTest=false, dann funktioniert OnGestute, das Scrollen aber nicht. ListView scheint also nicht behandelte Gesten an die Parents weiterzugeben. ListBox und Scrollbox aber nicht. Ich finde hier keine Lösung. Erster Gedanke ist jetzt vermutlich, die OnGesture-Verarbeitung nicht nur im TabControl, sondern auch in der jeweiligen ListBox zu verarbeiten. Aber auch das funktioniert nicht. Besten Dank, Harald |
AW: Gestures unter iOS
Liste der Anhänge anzeigen (Anzahl: 1)
hallo omp
Ich schlage mich mit ähnlichen Problemen rum. Hier ein Demo was wohl deinen Fall widerspiegelt. Ich würde mir auch wümnschen das sich Fmx auf allen Platformen zumindest gleich verhält, aber man wird wohl tief debuggen müssen und von Hand einen Workaround dafür finden müssen. Rollo |
AW: Gestures unter iOS
Es kann so einfach sein, wenn mans weiß.
Gesten werden nur an Parent weitergegeben, wenn Touch.InteractiveGestures leer ist. Eventuell auch die Gestures.Standard. Bei TListView ist Touch.InteractiveGestures per Vorgabe = []. Bei TListBox u.a. ist Touch.InteractiveGestures = [Pan]. Also entweder im Objektinspektor Pan demarkieren oder in FormCreate: {$IFDEF iOS} ListBox1.Touch.InteractiveGestures := []; {$ENDIF} |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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