Gebruik apparaatlettertypen voor het beste resultaat. De volgende lettertypen zijn bijvoorbeeld apparaatlettertypen op de iPhone:
-
Serif: Times New Roman, Georgia en _serif
-
Sans-serif: Helvetica, Arial, Verdana, Trebuchet, Tahoma en _sans
-
Vaste breedte: Courier New, Courier en _typewriter
Gebruik lettertypen die 14 pixels groot of groter zijn.
Gebruik apparaatlettertypen voor bewerkbare tekstvelden. Apparaatlettertypen in tekstvelden worden ook sneller gerenderd dan ingesloten lettertypen.
Gebruik geen onderstreepte tekst voor invoertekstvelden. Stel ook niet de uitlijning van het tekstveld in. Invoertekstvelden op de iPhone ondersteunen alleen linkeruitlijning (de standaardinstelling).
Als u de instelling TLF-tekst voor een tekstveld gebruikt in Flash Professional CS5, moet u de gezamenlijke bibliotheek voor uitvoering in de standaardkoppeling in Instellingen ActionScript 3.0 uitschakelen. Als u dit niet doet, werkt de toepassing niet op de iPhone omdat de toepassing dan probeert het SWF-bestand van de gezamenlijke bibliotheek voor uitvoering te gebruiken:
-
Selecteer Bestand > Publicatie-instellingen.
-
Klik in het dialoogvenster Publicatie-instellingen op het tabblad Flash.
-
Klik op de knop Script rechts van de vervolgkeuzelijst Script (ActionScript 3.0).
-
Klik op het tabblad Bibliotheekpad.
-
Selecteer in de vervolgkeuzelijst Standaardkoppeling de optie Samengevoegd in code.
Implementeer eventueel alternatieven voor het gebruik van invoertekstvelden. Als u de gebruiker bijvoorbeeld een numerieke waarde wilt laten invoeren, hebt u geen tekstveld nodig. U kunt twee knoppen maken om de waarde te verhogen of te verlagen.
Houd rekening met de ruimte die door het virtuele toetsenbord wordt ingenomen. Wanneer het virtuele toetsenbord wordt geactiveerd (bijvoorbeeld wanneer een gebruiker in een tekstveld tikt), wordt door de toepassing de positie van het werkgebied aangepast. Omdat de positie van het werkgebied automatisch wordt aangepast, blijft het geselecteerde invoertekstveld zichtbaar:
-
Een tekstveld bovenaan in het werkgebied wordt naar boven in het zichtbare werkgebied verplaatst. (Het zichtbare werkgebied is kleiner om ruimte te bieden aan het virtuele toetsenbord.)
-
Een tekstveld onderaan in het werkgebied blijft onderaan in het nieuwe werkgebied staan.
-
Er wordt een tekstveld in een ander gedeelte van het werkgebied verplaatst naar het verticale midden van het werkgebied.
Wanneer de gebruiker op een tekstveld klikt om het te bewerken (en het virtuele toetsenbord wordt weergegeven), verzendt het object TextField een gebeurtenis
focusIn
. U kunt een gebeurtenislistener voor deze gebeurtenis toevoegen om de positie van het tekstveld te wijzigen.
Een tekstveld met één regel bevat een knop voor het wissen van tekst (rechts van de tekst) wanneer de gebruiker tekst bewerkt. Deze knop wordt echter niet weergegeven wanneer het tekstveld te smal is.
Na het bewerken van een tekstveld met één regel kan de gebruiker het virtuele toetsenbord met een knop sluiten.
Na het bewerken van tekst in een tekstveld met meerdere regels kan de gebruiker het virtuele toetsenbord sluiten door buiten het tekstveld te tikken. Hiermee verdwijnt de focus op het tekstveld. Zorg ervoor dat uw ontwerp ruimte buiten het tekstveld over is wanneer het virtuele toetsenbord wordt weergegeven. Als het tekstveld te groot is, is er verder niets zichtbaar.
Bij sommige Flash Professional CS5-componenten kan het voorkomen dat het niet mogelijk is om de focus van het tekstveld weg te halen. Deze componenten zijn ontworpen voor desktopcomputers, waar dit gedrag gewenst is. De component TextArea is hier een voorbeeld van. Wanneer deze component de focus heeft (en wordt bewerkt), is het niet mogelijk om de focus weg te halen door op een ander weergaveobject te klikken. Als u bepaalde andere Flash Professional CS5-componenten in het werkgebied plaatst, kan het ook zijn dat de focus niet weg kan van het tekstveld dat wordt bewerkt.
Vertrouw niet op toetsenbordgebeurtenissen. Bij sommige SWF-inhoud die voor het web is ontworpen, worden bijvoorbeeld toetsenbordgebeurtenissen gebruikt om de gebruiker de toepassing te laten beheren. Op de iPhone is het virtuele toetsenbord echter alleen aanwezig wanneer de gebruiker een tekstveld bewerkt. Een iPhone-toepassing verzendt alleen toetsenbordgebeurtenissen wanneer het virtuele toetsenbord aanwezig is.