Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   TTimeEdit unter IOS merkwürdiges Verhalten (https://www.delphipraxis.net/213891-ttimeedit-unter-ios-merkwuerdiges-verhalten.html)

bcvs 16. Okt 2023 09:53

TTimeEdit unter IOS merkwürdiges Verhalten
 
Hallo zusammen,

ich habe ein TTimeEdit. In IOs blendet das diese Scrollräder für Stunden und Minuten ein. Soweit, so gut.

Jetzt erscheinen die Scrollräder aber am unteren Bildschirmrand. Wenn man dann auf die Uhrzeit klickt, um die Zeit per Tastatur einzugeben, so wie es unter IOs üblich ist, verdeckt die virtuelle Tastatur die Scrollräder und man kommt nicht mehr zurück. Es gibt keine Chance eine per virtueller Tastatur eingegebene Uhrzeit zu übernehmen.

Ist das bei euch auch so? Wie löst ihr das?

bcvs 18. Okt 2023 10:30

AW: TTimeEdit unter IOS merkwürdiges Verhalten
 
Sorry für den Push, aber verwendet niemand ein TTimeEdit für iOS?

Kann jemand dieses Verhalten wenigsten bestätigen?

Rollo62 18. Okt 2023 13:18

AW: TTimeEdit unter IOS merkwürdiges Verhalten
 
Könnte es damit zusammenhängen, dass Du den darunter liegenden Inhalt nicht nach oben scrollst?
https://docwiki.embarcadero.com/Code...bleForm_Sample

Wohl eher nicht ...

Ich benutze das TTimeEdit nicht und kann das im Moment leider nicht testen.

bcvs 18. Okt 2023 14:34

AW: TTimeEdit unter IOS merkwürdiges Verhalten
 
Die anderen Inhalte schiebe ich nach oben. Das funktioniert aber naturgemäß nur, wenn sie auf einer TScrollbox liegen, die dann nach oben gescrollt wird.

Das TTimeEdit blendet aber die iOS-üblichen Uhrzeit-Scrollräder nicht auf der TScrollbox ein, sondern irgendwo schwebend am unteren Bildschirmrand.

Gibt es vielleicht eine andere schöne Timepicker-Komponente? Den TMSFNCDigitalTimePicker habe ich ausprobiert, der ist aber auch etwas unkomfortabel.

bcvs 27. Okt 2023 13:14

AW: TTimeEdit unter IOS merkwürdiges Verhalten
 
Falls noch jemand danach sucht, hier ein Bericht, wie ich es jetzt gelöst habe:

Ich wollte die Möglichkeit, eine Uhrzeit einfach einzutippen oder wahlweise über den platformspezifischen Picker auszuwählen.

Das Eintippen sollte aber auch so einfach wie möglich sein, ohne sich um Trenner wie : kümmern zu müssen. Im FMX gibt es ja keien TMaskEdit. Also habe ich zwei TEdits genommen, für Stunden und Minuten. In deren OnChange und OnChangeTracking liegt die Funktionalität, dass der Cursor nach Eingabe der Stunden zur Eingabe der Minuten sprint und was man sonst noch so braucht.

Daneben gibt es einen Button zum Aufklappen des Pickers. Dazu gibt es ein TTimeEdit mit visible=false. Der Button ruft
TimeEdit.OpenPicker auf.

Das ganze habe ich in einen Frame gepackt mit der Eigenschaft Time, deren Getter und Setten sich um das Auslesen und Einstellen der Uhrzeit kümmern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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