Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS Tastatur - Return (https://www.delphipraxis.net/176237-ios-tastatur-return.html)

eddie11 21. Aug 2013 12:20

iOS Tastatur - Return
 
Hi Allerseits,

auf der virtuellen Tastatur bein iPhone/iPad gibt es ja auch die Return-Taste.

In einigen iOS-Anwendungen wird diese Taste mit "Speichern", "Suchen" etc. belegt. Kann man das mit Delphi auch machen, d.h. den Text der Return-taste frei belegen? Und wenn ja wie?

jensw_2000 22. Aug 2013 23:09

AW: iOS Tastatur - Return
 
Den Return-Button Titel kann man nicht wahlfrei festlegen, aber ...
UITextField und UITextView haben eine Property namens returnKeyType.
Je nach dem eingestellten Typ wird der passende Titel auf dem Return-Button angezeigt.
Wenn Du das virtuelle Keyboard für andere UI Controls außer UITextField und UITextView anpassen willst, dann muss du für diese Controls das Protokoll (Interface) UITextInputTraits implementieren.


Gültige Beschriftungstypen sind:
UIReturnKeyDefault,
UIReturnKeyGo,
UIReturnKeyGoogle,
UIReturnKeyJoin,
UIReturnKeyNext,
UIReturnKeyRoute,
UIReturnKeySearch,
UIReturnKeySend,
UIReturnKeyYahoo,
UIReturnKeyDone,
UIReturnKeyEmergencyCall

(natürlich localized, je nach Keyboard Sprache)

arnof 23. Aug 2013 07:08

AW: iOS Tastatur - Return
 
Zitat:

Mit FireMonkey kann man Cross Platform RAD Entwicklung machen, ohne sich mit den Details der Zielplattform befassen zu müssen.
Ja genau deshalb benutze ich das auch, da man sich nicht erst ein jahr (oder länger) in ein System einarbeiten muss!


Zitat:

Ich bin so froh, dass es kein FireMonkey für Busfahrer und Herzchirurgen gibt!
Im Urlaub hatte ich genau diesen Busfahrer ... Ich dachte der kommt gerade vom Eselreiten, so ist der gefahren ....

eddie11 23. Aug 2013 07:54

AW: iOS Tastatur - Return
 
Danke jensw_2000,

damit könnte ich mein Problem ja grundsätzlich lösen, aber wenn man auf Deine Signatur schaut dann weiss man schon, dass das genau nicht der richtige Weg für mich ist. Ich möchte ja gerade mit Firemonkey entwickeln, nicht mit XCode. Meine App soll unter iOS und später (XE5?) dann auch unter Android laufen, ohne allzusehr auf die Unterschiede eingehen zu müssen - das wollte ich eigentlich von Embarcadero gelöst haben :).

Dann wird's wohl bei "Return" bleiben.

Phoenix 23. Aug 2013 08:13

AW: iOS Tastatur - Return
 
Zitat:

Zitat von arnof (Beitrag 1225941)
Zitat:

Mit FireMonkey kann man Cross Platform RAD Entwicklung machen, ohne sich mit den Details der Zielplattform befassen zu müssen.
Ja genau deshalb benutze ich das auch, da man sich nicht erst ein jahr (oder länger) in ein System einarbeiten muss!

Ich glaube, Du hast die Intention der Signatur nicht verstanden.

Wenn Du Dich nicht in ein System einarbeitest, und Dinge so anbietest, wie es der Nutzer dieses Systems erwartet, wirst Du auf diesem System keinen Erfolg haben.

jensw_2000 23. Aug 2013 08:13

AW: iOS Tastatur - Return
 
Zitat:

Zitat von eddie11 (Beitrag 1225948)
Danke jensw_2000,

Ich möchte ja gerade mit Firemonkey entwickeln, nicht mit XCode. Meine App soll unter iOS und später (XE5?) dann auch unter Android laufen, ohne allzusehr auf die Unterschiede eingehen zu müssen - das wollte ich eigentlich von Embarcadero gelöst haben :).

Du kannst das ziemlich sicher mit Delphi lösen.
Für FMX sind Wrapper Units für das UIKit enthalten.
Ergo, musst Du damit auch an die o.a. TextField/TextView Klassen und an das Interface UITextInputTraits herankommen.
Und wenn Du da heran kommst, dann wirst Du es auch benutzen können.

Ich habe den für iOS "natürlichen" Weg zum Ändern des Return-Key Titels gegeben, damit Du weist, nach was Du in den FMX units forschen musst um ans Ziel zu kommen.
Native sage ich nicht mehr....ist zu verschlissen.

Wenn der Return Buttun in Deinem Projekt unter iOS, Android und irgendwann WinRT überall die gleiche Bezeichnung haben soll, dann musst Du eben ein paar ifdefs einbauen und auch forschen, wie man es unter den anderen Plattformen löst.
Letztendlich wird es nur so funktionieren.

Oder du lässt wirklich "return" stehen und lässt den iOS spezifischen Kram weg.
Dieser Denkansatz bedeutet aber unter dem Strich, dass man immer nur die kleinste Schnittmenge der Features nutzt, die auf allen Plattformen verfügbar ist.

Phoenix 23. Aug 2013 08:16

AW: iOS Tastatur - Return
 
Zitat:

Zitat von jensw_2000 (Beitrag 1225953)
Oder du lässt wirklich "return" stehen und lässt den iOS spezifischen Kram weg.
Dieser Denkansatz bedeutet aber unter dem Strich, dass man immer nur die kleinste Schnittmenge der Features nutzt, die auf allen Plattformen verfügbar ist.

Und das heisst konkret: Du hast überall eine suboptimale (lies: schlechte) Lösung.

eddie11 23. Aug 2013 08:40

AW: iOS Tastatur - Return
 
naklar, ich muss mich ohnehin auf die jeweilige Plattform einstellen, einige Dinge gibts ja nur auf der einen, andere Dinge nur auf der anderen Plattform. Diese Dinge nicht zu nutzen, um immer nur die gemeinsame Schnittmenge nutzen zu können wäre in der Tat falsch. So muss ich z.B. den Aktivitäts-Indikator, der in der Statusleiste angezeigt wird auch direkt iOS-spezifisch ansprechen.

Aber von einer Cross-Plattform erwarte ich halt, dass die jeweiligen Eigenheiten "durchgereicht" werden und beim Ändern der Zielplattform halt entsprechend abgehandelt werden. teilweise ist das ja auch umgesetzt (z.B. Retina-Properties, die unter Win32 ignoriert werden, und für die es unter Android wahrscheinlich auch keine Entsprechung gibt).

Ich bin halt 'n Programmierer, will mich mit der Anwendung und deren Inhalten auseinandersetzen, ohne allzuviel mit Systemspezifika 'rumzutrödeln :-D.

arnof 23. Aug 2013 08:40

AW: iOS Tastatur - Return
 
Zitat:

Zitat von Phoenix (Beitrag 1225952)
Zitat:

Zitat von arnof (Beitrag 1225941)
Zitat:

Mit FireMonkey kann man Cross Platform RAD Entwicklung machen, ohne sich mit den Details der Zielplattform befassen zu müssen.
Ja genau deshalb benutze ich das auch, da man sich nicht erst ein jahr (oder länger) in ein System einarbeiten muss!

Ich glaube, Du hast die Intention der Signatur nicht verstanden.

Wenn Du Dich nicht in ein System einarbeitest, und Dinge so anbietest, wie es der Nutzer dieses Systems erwartet, wirst Du auf diesem System keinen Erfolg haben.

Das ist wie immer eine Glaubensfrage .....

Wenn das Programm das macht, was der User erwartet und auch möglichst problemfrei ist, dann ist der user zufrieden. Wenn der user das 10 oder mehrfache bezahlen muss, damit auch die letzte Kleinigkeit zu dem System passt (look & feel), dann sagen 90% der user "das ist mir egal" es gibt natürlich auch welche (meistens die über andere Leute Geld entscheiden) das muss 100% so sein wie überall.

Das passt dann nicht zu diesem Forumsteil nicht Crossplattform sondern Singleplattform ;-)

jensw_2000 23. Aug 2013 09:04

AW: iOS Tastatur - Return
 
Zitat:

Zitat von arnof (Beitrag 1225960)
Zitat:

Zitat von Phoenix (Beitrag 1225952)
Zitat:

Zitat von arnof (Beitrag 1225941)
Zitat:

Mit FireMonkey kann man Cross Platform RAD Entwicklung machen, ohne sich mit den Details der Zielplattform befassen zu müssen.
Ja genau deshalb benutze ich das auch, da man sich nicht erst ein jahr (oder länger) in ein System einarbeiten muss!

Ich glaube, Du hast die Intention der Signatur nicht verstanden.

Wenn Du Dich nicht in ein System einarbeitest, und Dinge so anbietest, wie es der Nutzer dieses Systems erwartet, wirst Du auf diesem System keinen Erfolg haben.

Das ist wie immer eine Glaubensfrage .....

Wenn das Programm das macht, was der User erwartet und auch möglichst problemfrei ist, dann ist der user zufrieden. Wenn der user das 10 oder mehrfache bezahlen muss, damit auch die letzte Kleinigkeit zu dem System passt (look & feel), dann sagen 90% der user "das ist mir egal" es gibt natürlich auch welche (meistens die über andere Leute Geld entscheiden) das muss 100% so sein wie überall.

Das ist aber nur die halbe Wahrheit.
Wenn man plattformnative Frameworks, Entwicklungsumgebungen und Technologien benutzt (argh, jetzt musste es das "native" Unwort sein sein..), dann hat man automatisch 100% natürliches "Look & Feel". Überall. Meistens mit viel weniger Quellcode und mit einem besseren Endergebnis.
Also dreht es sich aus meiner Sicht eher um eine Einstellungshaltung von uns Entwicklern.

Möglich ist:
Ich lerne wie die Plattformen ticken und kann danach Apps schreiben die 100% der Plattform auf den vorgesehenen Wegen nutzen können.
Oder...
Ich suche mir eine "Abstraktionsschicht" für die Entwicklung, die alle nötigen Plattformen unterstützt, und lebe damit, dass viele Features einfach nicht realisierbar sind bzw. dass das realisierbare Niveau nur so gut sein kann wie die Abstraktionsschicht selbst. Man muss also bereit sein, die Erwartungshaltung an seinem eigenen Ergebnis herunterzuschrauben.

Nicht möglich ist:
Ich nutze mit einer abstrahierten Entwicklungsumgebung alle Features aller Plattformen auf natürlichem Wege ohne zu wissen wie diese ticken ...

PS:
Ich sehe das wie "Bauer Horst" aus dem Werner Film.
Soll'n sey doch alle mock'n watt sey woll'n ... :angel2:

arnof 23. Aug 2013 09:09

AW: iOS Tastatur - Return
 
So ist es, Crossplattform: es geht vieles aber nicht alles.

jensw_2000 23. Aug 2013 10:36

AW: iOS Tastatur - Return
 
Zitat:

Zitat von arnof (Beitrag 1225963)
So ist es, Crossplattform: es geht vieles aber nicht alles.

Wir sollten den Thread umbenennen lassen. Sonst gibt es bestimmt bald was auf die Finger :)

Das hängt von der Wahl der Waffen ab ...

Cross Plattform bedeutet nicht zwangsläufig, dass ein und der selbe Code auf allen möglichen Plattformen läuft.
Wenn das die Lösung aller Probleme wäre, dann hätten wir heute nur noch Java Applikationen am Markt und iOS gäbe es nicht.

Ich bekomme keine Provision von RemObjects. Will ich auch nicht haben. Ist auch nicht mein Ziel.

Für Windows Anwendungen möchte ich nie von Delphi und der VCL weg.
Bei alle anderen Plattformen bin ich sehr glücklich mit Oxygene. Die Philosophie in Bezug auf Cross Plattform gefällt mit deutlich besser als der Ansatz von FMX.
Ich beharre natürlich auch nicht darauf, dass dies alle so sehen wie ich. :) Wozu auch.

>Mit Oxygene arbeite ich seit einiger Zeit an einem "Lern"Projekt mit einer zentralen Business Logic, die ein Delphi Webservice (via RemObject SDK) bereitstellt.
Die Client Applikationen für ASP.Net, iOS, Android und Windows Phone liegen in einer zentralen Oxygene Projektgruppe. Diese 4 Client-Projekte haben einen zentralen plattformunabhängigen "Shared Code-Teil" und einen "UI Teil", der mit den Bordmitteln der Zielsysteme (und Pascal Code) erstellt wird.
Man programmiert mit einer modernen Pascal Syntax unter Verwendung der natürlichen SDKs der Zielsysteme.
Eine traumhafte Kombination für einen eingerittenen Delphianer...

Meine Erwartungshaltung musste ich lediglich dahingehend herunterschrauben, dass man schnell die GUIs zusammenklickt und in ein paar Wochen fertige Projekte für alle Zielsysteme hat.
Seit 3-4 Monaten lerne ich wie iOS und Cocoa Touch ticken. Ab Jahresende muss ich mich auf die Denkweisen hinter Java und Dalvik stürzen und WinRT ist nach dem Frühjahr 2014 dran.
Dafür habe ich am Ende eine konsistente App "Familie", die auf Windows, im Browser, auf iOS, Android und WinRT kompromisslos und mit natürlichem Nutzerempfinden läuft.
Dadurch dass man den Code in einer IDE aufbaut und ihn im gewohnten Pascal schreiben kann, ist der plattformabhängige "UI Teil" garnicht sooo kompliziert.
Man muss die Konzepte hinter der UI lernen und die Syntax von ObjectiveC und Java kapieren.
Danach hat man eine Flut von Beispielen und Lösungen, die man 1:1 in Pascal Syntax übernehmen kann.
Es ist auch schön, dass man die regulären Entwickler-Dokus der Hersteller nutzen kann.

Bei mir ist das Zittern auf alle Fälle raus aus den Fingern.
Nachdem ich den Kampf mit den "fremden Welten" mit Oxygene begonnen habe und TMS kurz danach die ersten "echten nativen" iOS Controls für FMX veröffentlicht hat, habe ich schon sehr neidisch auf Delphi zurückgeschaut und diese lästige Apple iOS Doku noch mehr gehasst.
Jetzt - ein viertel Jahr später - bin ich mir sicher, dass ich richtig herum auf dem richtigen Pferd sitze und keine der anderen beiden Kombinationen "ausprobiere".

eddie11 23. Aug 2013 12:46

AW: iOS Tastatur - Return
 
Eigentlich hatte ich ja nur 'ne Frage zu "iOS Tastatur - Return":lol:

Aber wie so of in vielen Threads (und an vielen Stammtischen, in Parlamenten und "Arbeitskreisen"): irgendwann beginnt dann eine Grundsatzdiskussion bei der sich zwei Meinungen gegenüber stehen. Das ursprüngliche Problem Gerät in Vergessenheit.

Meine Frage war eigentlich schon nach dem 3. Post beantwortet, trotzdem nett zu lesen...

Phoenix 23. Aug 2013 12:53

AW: iOS Tastatur - Return
 
Zitat:

Zitat von arnof (Beitrag 1225960)
Das ist wie immer eine Glaubensfrage .....

Ist es nicht. Es ist eine reine Zahlenfrage.

Zitat:

Zitat von arnof (Beitrag 1225960)
Wenn das Programm das macht, was der User erwartet und auch möglichst problemfrei ist, dann ist der user zufrieden. Wenn der user das 10 oder mehrfache bezahlen muss, damit auch die letzte Kleinigkeit zu dem System passt (look & feel), dann sagen 90% der user "das ist mir egal" es gibt natürlich auch welche (meistens die über andere Leute Geld entscheiden) das muss 100% so sein wie überall.

Inkorrekt. Du gehst davon aus, das eine Plattformnative Lösung teurer verkauft werden muss, weil sie teurer erstellt wird. Dem ist aber nicht so.

Erfahrungen haben folgendes gezeigt:

Am Anfang wurde eine einheitliche Lösung mit Phonegap erstellt. Die sah so aus wie iOS, ist aber natürlich nicht Plattform-Nativ. Sieht so aus wie, fühlt sich aber nicht so an als. Erfolg der App auf iOS: Mäßig. Auf Android und Windows Phone: Unterirdisch. Die App hat hat, summiert über alle drei Plattformen, ihre Entwicklungskosten in über 6 Monate nicht eingespielt.

Es musste reagiert werden. Es wurden drei Apps erstellt. Eine in Objective-C, die das ursprüngliche UI-Konzept der Phonegap-App wieder nachempfunden hat (war ja für iOS konzipiert). Eine für Android in Java, und eine für Windows Phone in HTML5 + JS. Diese konnte einigen Code der Phonegap-App wiederverwenden, aber das UI wurde komplett für Windows Phone neu entwickelt.

Nach nur zwei Monaten nach dem Start hatte jede der drei Apps ihre individuellen Entwicklungskosten wieder eingespielt - beim gleichen Verkaufspreis wie die Erste.

Und: Die Entwicklungskosten jeder einzelnen App war nur vernachlässigbar höher als die Kosten für die gemeinsame App.

Die Zahlen sagen also: Plattformindividuell = Einmalkosten x3, aber nach nur 2 Monaten komplett wieder eingespielt vs. 1x Kosten, bei denen man nach 6 Monaten immer noch auf einem Teil sitzen bleibt. Und jetzt stellt sich auf einmal die Frage, ob man es sich leisten kann und ob man es sich wirklich leisten will, Einheitsbrei zu fabrizieren.

Daniel 23. Aug 2013 13:02

AW: iOS Tastatur - Return
 
Ich erlaub mir trotz allem einen fachlichen Hinweis zu geben:
Mein XE5 (!) kennt auf einem TEdit die eingangs genannte Property "ReturnKeyType" und lässt die Tastatur entsprechend konfigurieren.

Auch wenn es nur ein Satz ist, fällt es wohl unter "Beta-Blogging" und erfordert damit, dass ich darauf hinweise, dass Embarcadero mich von meinem NDA entbunden hat, wir über eine Beta-Version reden und die von mir getroffenen Aussagen sich auf ein in der Entwicklung befindliches Produkt beziehen. ;-)

eddie11 23. Aug 2013 13:21

AW: iOS Tastatur - Return
 
OOps,

da hätte ich natürlich auch selbst drauf kommen können, mal bei XE5 zu schauen. So ca. 5 Meter entfernt sitzt der Kollege, der an der XE5-Beta teilnimmt. Aber der darf mir ja offiziell auch nix sagen :-D :-D...

arnof 23. Aug 2013 13:40

AW: iOS Tastatur - Return
 
Daniel: ich darf nichts sagen, das ist auch z.Z. Besser so ....

Phoenix: na dann ist ja gut html5 builder mit phonegap ist ja eine gefühlte alphaversion ...
Mich würde mal interessieren welche Apps ihr so macht, wenn die für Windowsphone die kosten einspielt muss das ja ein Blockbuster sein!

Phoenix 23. Aug 2013 15:57

AW: iOS Tastatur - Return
 
Zitat:

Zitat von arnof (Beitrag 1226003)
Mich würde mal interessieren welche Apps ihr so macht, wenn die für Windowsphone die kosten einspielt muss das ja ein Blockbuster sein!

Nur ganz wenige unserer Kunden dürfen genannt werden. Mehr als auf http://www.smarthouse.de/referenzen hinweisen darf ich leider nicht. Und dann erkennt man auch, warum dann die konkreten Anwendungen / Inhalte / Apps die wir liefern auch nicht genannt werden dürfen.

Die Windows Phone App ist nicht so der wahnsinns "Blockbuster", aber Microsoft zahlt pro App Download überdurchschnittlich gut im Gegensatz zu Apple und Google. Quelle: http://www.forbes.com/sites/tristanl...age-apps-make/

Auch interessant: Microsoft zahlt vor allem im Ad-Bereich deutlich mehr pro View aus als die anderen.

Und gerade da im Werbefinanzierten Segment (Stichwort iAds / Microsoft Advertising / AdMob und Konsorten) ist es dann besonders interessant: Eine kostenlose App die oft lange genutzt wird zeigt mehr Werbung an und spielt mehr Geld ein als eine App die einmal heruntergeladen wird und dann nicht mehr genutzt wird - zum Beispiel weil sie dem User nicht gefällt.

arnof 23. Aug 2013 20:11

AW: iOS Tastatur - Return
 
Ok iad dürft ja nur eine app sein, die hat fast jeder installiert sogar ich auch....

Von den downloadzahlen können 99% nur träumen :thumb:

Union 24. Feb 2014 15:11

AW: iOS Tastatur - Return
 
ReturnKeyType existiert jetzt zwar schon ein Weilchen, aber leider funktioniert das nicht. Es ändert nur die Optik der Tastatur, aber rkNext sorgt dafür dass beim Betätigen des dann eingeblendeten Buttons "Caps-Lock" gedrückt wird.

eddie11 25. Feb 2014 09:57

AW: iOS Tastatur - Return
 
Zitat:

Zitat von Union (Beitrag 1249329)
ReturnKeyType existiert jetzt zwar schon ein Weilchen, aber leider funktioniert das nicht. Es ändert nur die Optik der Tastatur, aber rkNext sorgt dafür dass beim Betätigen des dann eingeblendeten Buttons "Caps-Lock" gedrückt wird.

Also so wie ich ReturnKeyType verstehe, ändert es lediglich das Erscheinungsbild der virtuellen Tastatur bzw. des Return-Buttons.

Das mit dem Caps-Lock ist ja ein anderes Problem: grundsätzlich scheinen alle Edit-Felder wie ios-Namensfelder zu funzen, da ist der erste Buchstabe immer groß. Das ist besonders ärgerlich bei Passwort-Feldern, da man da nicht sieht was eingegeben wurde.

Union 25. Feb 2014 10:00

AW: iOS Tastatur - Return
 
Nein das meinte ich nicht: Wenn man den durch das Control mit
Delphi-Quellcode:
rktNext
definierten Button "Weiter" bzw. "Next" betätigt, ist die Funktionsweise identisch zum Betätigen des Caps-Lock-Button. Der wird dann auch je nach Status entsprechend hervorgehoben dargestellt.

eddie11 25. Feb 2014 10:41

AW: iOS Tastatur - Return
 
Dieses "Großbuchstaben"-Verhalten ist unabhängig von der Einstellung von ReturnKeyType. Egal ob rkDefault,rkNext,rkGo usw, wenn immer man Return drückt, wird Caps eingeschaltet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz