Чтобы текст выглядел лучше, используйте шрифты устройства. Например, на iPhone доступны следующие шрифты устройства:
-
Serif: Times New Roman, Georgia и _serif
-
Sans-serif: Helvetica, Arial, Verdana, Trebuchet, Tahoma и _sans
-
Моноширинные: Courier New, Courier и _typewriter
Используйте шрифты размером 14 пикселей и больше.
Используйте шрифты устройства для редактируемых текстовых полей. Шрифты устройства в текстовых полях визуализируются быстрее, чем встроенные.
Не используйте текст с подчеркиванием для полей вводимого текста. Кроме того, не задавайте выравнивание текстового поля. В полях вводимого текста в устройстве iPhone поддерживается только выравнивание по левому краю (по умолчанию).
Если в среде Flash Professional CS5 для текстового поля используется параметр «Текст TLF», отключите общую библиотеку во время выполнения в связывании по умолчанию в окне «Параметры ActionScript 3.0». В противном случае приложение не будет работать на iPhone, так как оно будет пытаться использовать SWF-файл из общей библиотеки времени выполнения:
-
Выберите «Файл» > «Параметры публикации».
-
В диалоговом окне «Параметры публикации» перейдите на вкладку «Flash».
-
Нажмите кнопку «Сценарий» справа от раскрывающегося списка «Сценарий (ActionScript 3.0)».
-
Перейдите на вкладку «Путь к библиотеке».
-
В списке «Связывание по умолчанию» выберите «Объединено с кодом».
Попробуйте найти альтернативы использованию текстовых полей для ввода. Например, чтобы пользователь мог ввести число, не требуется текстовое поле. Можно добавить две кнопки для увеличения или уменьшения значения.
Учитывайте место, которое занимает виртуальная клавиатура. При активации виртуальной клавиатуры (например, когда пользователь прикасается к текстовому полю), приложение корректирует свое местоположение на рабочей области. Положение автоматически изменяется так, чтобы выбранное текстовое поле оставалось видимым:
-
Текстовое поле вверху рабочей области перемещается в верхнюю часть видимой области. (Видимая область меньше, так как на экране отображается виртуальная клавиатура.)
-
Текстовое поле внизу рабочей области остается в нижней части видимой области.
-
Текстовое поле в другой части рабочей области перемещается в центр видимой области.
Когда пользователь щелкает текстовое поле, чтобы отредактировать его (и отображается виртуальная клавиатура), объект TextField отправляет событие
focusIn
. Можно добавить прослушиватель этого события для изменения положения текстового поля.
Однострочное текстовое поле включает кнопку очистки (справа от текста), когда пользователь редактирует текст. Однако эта кнопка очистки не отображается, если текстовое поле является слишком узким.
После редактирования текста в однострочном текстовом поле пользователь закрывает виртуальную клавиатуру путем нажатия клавиши «Готово» на клавиатуре.
После редактирования текста в многострочном текстовом поле пользователь закрывает виртуальную клавиатуру прикосновением за пределами текстового поля. Это позволяет удалить фокус из текстового поля. Убедитесь, что при отображении виртуальной клавиатуры за пределами текстового поля предусмотрена свободная область. Если текстовое поле является слишком большим, остальная область может быть скрыта.
Использование некоторых компонентов Flash Professional CS5 позволяет предотвратить удаление фокуса из текстового поля. Эти компоненты предназначены для использования на настольных компьютерах, в которых такое поведение фокуса является предпочтительным. Одним из таких компонентов является TextArea. Когда он находится в фокусе (и редактируется), удаление фокуса путем выбора другого экранного объекта невозможно. Добавление некоторых других компонентов Flash Professional CS5 в рабочую область также позволяет предотвратить переключение фокуса редактируемого текстового поля.
Не полагайтесь на события клавиатуры. Например, SWF-содержимое, разработанное для Интернета, предоставляет пользователю возможность управления с помощью клавиатуры. Однако на устройстве iPhone виртуальная клавиатура активна, только когда пользователь редактирует текстовое поле. Приложение iPhone отправляет события клавиатуры, только когда она активна.