글꼴 및 텍스트 입력

장치 글꼴을 사용할 때 모양이 가장 좋습니다. 예를 들어 iPhone에는 다음과 같은 장치 글꼴이 있습니다.

  • Serif: Times New Roman, Georgia 및 _serif

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

  • Fixed-width: Courier New, Courier 및 _typewriter

크기가 14픽셀 이상인 글꼴을 사용합니다.

편집 가능한 텍스트 필드에는 장치 글꼴을 사용합니다. 텍스트 필드의 장치 글꼴도 포함된 글꼴보다 빠르게 렌더링됩니다.

입력 텍스트 필드에 밑줄이 그어진 텍스트를 사용하지 마십시오. 또한 텍스트 필드의 정렬도 설정해서는 안 됩니다. iPhone의 입력 텍스트 필드는 왼쪽 정렬(기본값)만 지원합니다.

Flash Professional CS5에서 텍스트 필드에 TLF 텍스트 설정을 사용하는 경우 ActionScript 3.0 설정에서 런타임 공유 라이브러리의 기본 링크를 해제하십시오. 그렇지 않으면 응용 프로그램이 런타임 공유 라이브러리 SWF 파일을 사용하려 하기 때문에 iPhone에서 작동하지 않게 됩니다.

  1. [파일] > [제작 설정]을 선택합니다.

  2. [제작 설정] 대화 상자에서 [Flash] 탭을 클릭합니다.

  3. [스크립트(ActionScript 3.0)] 드롭다운 목록의 오른쪽에 있는 [스크립트] 버튼을 클릭합니다.

  4. [라이브러리 경로] 탭을 클릭합니다.

  5. [기본 링크] 드롭다운 목록에서 [코드로 병합]을 선택합니다.

입력 테스트 필드를 사용하는 대체 방법을 구현해보십시오. 예를 들어 사용자가 숫자 값을 입력하도록 할 때는 텍스트 필드를 사용하지 않아도 됩니다. 대신 값을 높이거나 낮추는 버튼 2개만 제공하면 됩니다.

이때는 가상 키보드에 사용되는 공간을 고려해야 합니다. 가상 키보드가 활성화되면(예: 사용자가 텍스트 필드를 누른 경우) 응용 프로그램은 스테이지의 위치를 조정합니다. 이러한 자동 위치 조정 기능은 선택한 입력 텍스트 필드가 가려지지 않도록 합니다.

  • 스테이지 맨 위에 있는 텍스트 필드는 표시되는 스테이지 영역의 맨 위로 이동합니다. 이때 가상 키보드를 표시하기 위해 스테이지 영역이 좁게 나타납니다.

  • 스테이지 맨 아래에 있는 텍스트 필드는 새 스테이지 영역의 맨 아래에 그대로 있습니다.

  • 스테이지의 다른 부분에 있는 텍스트 필드는 스테이지의 수직 가운데로 이동합니다.

사용자가 편집하기 위해 텍스트 필드를 클릭하면(이때 가상 키보드가 표시됨) TextField 객체가 focusIn 이벤트를 발송합니다. 텍스트 필드의 위치를 조정하도록 이 이벤트에 대한 이벤트 리스너를 추가할 수 있습니다.

한 줄 텍스트 필드에서는 사용자가 텍스트를 편집할 때 텍스트 오른쪽에 지우기 버튼이 포함됩니다. 그러나 텍스트 필드가 너무 좁으면 이 지우기 버튼이 표시되지 않습니다.

한 줄 텍스트 필드에서 텍스트를 편집한 후 키보드의 Done 키를 누르면 가상 키보드가 숨겨집니다.

한편 여러 줄 텍스트 필드에서 텍스트를 편집한 후에는 텍스트 필드 외부를 눌러야 가상 키보드가 숨겨집니다. 텍스트 필드 외부를 누르면 텍스트 필드에서 포커스가 없어집니다. 가상 키보드가 표시되어도 텍스트 필드의 외부 영역이 나타나도록 응용 프로그램을 설계해야 합니다. 텍스트 필드가 너무 크면 다른 영역이 표시되지 않을 수 있습니다.

일부 Flash Professional CS5 구성 요소를 사용할 경우 텍스트 필드에서 포커스를 없애지 못할 수 있습니다. 이러한 구성 요소의 포커스 비헤이비어는 데스크톱 시스템에서 사용하기 알맞게 설계되었기 때문입니다. 한 예로 TextArea 구성 요소를 들 수 있습니다. 편집과 같은 작업으로 인해 이 구성 요소에 포커스가 있으면 다른 표시 객체를 클릭하여 포커스를 없애지 못합니다. 또한 스테이지에 일부 다른 Flash Professional CS5 구성 요소를 배치해도 편집 중인 텍스트에서 포커스를 변경하지 못할 수 있습니다.

키보드 이벤트에 의존하는 것은 좋지 않습니다. 예를 들어 웹용으로 디자인된 일부 SWF 내용은 사용자가 키보드를 사용하여 응용 프로그램을 제어하도록 합니다. 그러나 iPhone에서는 사용자가 텍스트 필드를 편집할 때만 가상 키보드가 표시됩니다. iPhone 응용 프로그램은 가상 키보드가 표시될 때만 키보드 이벤트를 전달합니다.