Caratteri e immissione di testo

Per ottimizzare l'aspetto, utilizzate i caratteri dispositivo. Di seguito, ad esempio, sono elencati i caratteri dispositivo sull'iPhone:

  • Serif: Times New Roman, Georgia e _serif

  • Sans-serif: Helvetica, Arial, Verdana, Trebuchet, Tahoma e _sans

  • Fixed-width: Courier New, Courier e _typewriter

Utilizzate caratteri di 14 pixel o più grandi.

Utilizzate caratteri dispositivo per i campi di testo modificabili. I caratteri dispositivo nei campi di testo vengono inoltre riprodotti più rapidamente dei caratteri incorporati.

Non utilizzate testo sottolineato per campi di testo di input. Inoltre, non impostate l'allineamento per il campo di testo. I campi di testo di input sull'iPhone supportano solo l'allineamento a sinistra (l'impostazione predefinita).

Se utilizzate l'impostazione Testo TLF per un campo di testo Flash Professional CS5, disattivate la libreria condivisa in runtime nel concatenamento predefinito nelle Impostazioni di ActionScript 3.0. In caso contrario, l'applicazione non funziona sull'iPhone poiché cerca di utilizzare il file SWF della libreria condivisa in runtime:

  1. Selezionate File > Impostazioni pubblicazione.

  2. Nella finestra di dialogo Impostazioni pubblicazione, fate clic sulla scheda Flash.

  3. Fate clic sul pulsante Script a destra dell'elenco a discesa Script (ActionScript 3.0).

  4. Fate clic sulla scheda Percorso di libreria.

  5. Nell'elenco a discesa Concatenamento predefinito, selezionate Merged Into Code (Unito nel codice).

Valutate la possibilità di implementare delle alternative all'utilizzo dei campi di testo di input. Ad esempio, per fare in modo che l'utente immetta un valore numerico, non è necessario un campo di testo. Potete fornire due pulsanti per aumentare o diminuire il valore.

Tenete presente lo spazio utilizzato dalla tastiera virtuale. Quando la tastiera virtuale è attivata (ad esempio, quando un utente tocca un campo di testo), l'applicazione regola la posizione dello stage. Il riposizionamento automatico garantisce che il campo di testo di input selezionato sia visibile:

  • Un campo di testo nella parte superiore dello stage si sposta in cima all'area dello stage visibile. (L'area dello stage visibile è più piccola per contenere la tastiera virtuale.)

  • Un campo di testo nella parte inferiore dello stage rimane in fondo alla nuova area dello stage.

  • Un campo di testo in un'altra parte dello stage viene spostata nel centro verticale dello stage.

Quando l'utente fa clic su un campo di testo per modificarlo (e la tastiera virtuale è visualizzata), l'oggetto TextField invia un evento focusIn . Potete aggiungere un listener di eventi per questo evento per riposizionare il campo di testo.

Un campo di testo a riga singola include un pulsante di cancellazione (a destra del testo) quando l'utente modifica il testo. Tuttavia, il pulsante di cancellazione non viene visualizzato se il campo di testo è troppo stretto.

Dopo la modifica del testo in un campo di testo a riga singola, l'utente rimuove la tastiera virtuale toccando il tasto Fine sulla tastiera.

Dopo la modifica del testo in un campo di testo a più righe, l'utente rimuove la tastiera virtuale toccando l'esterno del campo di testo. Questa operazione disattiva il campo di testo. Verificate che il design includa area al di fuori del campo di testo quando la tastiera virtuale è visualizzata. Se il campo di testo è troppo grande, è possibile che non venga visualizzata nessuna altra area.

L'utilizzo di alcuni componenti Flash Professional CS5 può impedire la disattivazione di un campo di testo. Questi componenti sono progettati per l'utilizzo sulle macchine desktop, dove questo comportamento di attivazione è utile. Uno di questi componenti è TextArea. Quando è attivato (e in fase di modifica), non potete disattivarlo facendo clic su un altro oggetto di visualizzazione. L'inserimento di altri componenti Flash Professional CS5 sullo stage può altresì impedire la disattivazione del campo di testo in fase di modifica.

Non basatevi sugli eventi di tastiera. Ad esempio, il contenuto SWF progettato per il Web utilizza la tastiera per consentire all'utente di controllare l'applicazione. Tuttavia, sull'iPhone, la tastiera virtuale è presente solo quando l'utente modifica un campo di testo. Un'applicazione iPhone invia eventi di tastiera solo quando la tastiera virtuale è presente.