여러 플랫폼에서 사용하는 다양한 유형의 가상 키보드
본 문서는 Apple의 Human Interface Guideline(이하 HIG) 문서를 한글로 번역한 것입니다. iOS 생태계 내에서 HIG를 읽으시는 분들이 번역본이 없어 불편함을 겪는 것을 알게 되었고, 이에 한글로 번역을 하게 되었습니다. iOS 커뮤니티 Async Swift에서 자율적으로 모인 9명이 함께 번역했으며, 일체의 상업적인 목적을 띄지 않습니다. 이 문서를 학습에 적극적으로 이용해 주시돼, 상업적인 용도로 이용하시는 것은 지양해 주시기 바랍니다. 감사합니다.
가상 키보드는 현재 작업에 최적화된 세트의 입력을 제공할 수 있습니다. 예를 들어 이메일 주소 입력을 지원하는 키보드에는 '@' 문자와 마침표 또는 '. com'이 포함될 수 있습니다. 가상 키보드는 키보드 단축키를 지원하지 않습니다.
필요한 경우 시스템에서 제공하는 키보드 대신 자체 데이터 입력을 지원하는 사용자 지정 화면(custom view)으로 대체할 수 있습니다. iOS, iPadOS 및 tvOS에서는 사람들이 표준 키보드 대신 설치하여 사용할 수 있는 사용자 지정 키보드를 제공하는 확장 앱 프로그램을 만들 수도 있습니다.
사람들이 편집하는 콘텐츠 유형에 맞는 키보드를 선택하세요. 예를 들어 숫자와 구두점 키보드를 제공하여 사람들이 숫자 데이터를 입력을 편리하게 도울 수 있습니다. 텍스트 입력 영역(text input area)의 시멘틱(semantic)을 지정하면 시스템에서 예상되는 입력 유형의 키보드를 자동으로 제공할 수 있으며, 이 정보를 통해 키보드의 기능을 구체화할 수도 있습니다. 개발자 가이드라인은 UIKeyboardType 및 UITextContentType을 참고하세요.
역자설명 : 시멘틱(semantic) - 영어로 직역하자면 의미론적이라는 뜻으로 시멘틱은 색상이 아닌 사용 방법에 따라 색상 이름을 지정하는 방법을 말합니다. 예를 들어 기존의 Blue500 대신 Primary color와 같은 형식으로 지정합니다.
역자설명 : 다양한 유형의 키보드는 우측 보러 가기 링크에서 확인할 수 있습니다. -> 보러 가기
명확한 텍스트 입력 환경을 제공하기 위해 Return 키 레이블을 사용자 지정(custom)하는 것이 좋습니다. 예를 들어 "Return" 대신 "Join" 또는 "Done"을 사용하는 것이 좋습니다. 개발자 가이드라인은 UIReturnKeyType을 참고하세요.
앱에서 데이터 입력 작업을 향상하는 사용자 지정 기능을 제공하려는 경우 입력 화면(input view)을 만들 수 있습니다. 예를 들어 Numbers는 스프레드시트를 편집하는 동안 숫자 값을 입력할 수 있는 사용자 지정 입력 화면을 제공합니다. 앱에서 사용들은 사용자 지정 입력 화면을 사용하고 시스템의 키보드를 사용하지 않습니다. 개발자 가이드라인은 inputViewController를 참고하세요. 나의 앱뿐 아니라 다른 앱에서도 사용할 수 있는 사용자 지정 키보드(custom keyboard)를 만들려면 사람들이 설치할 수 있는 앱 익스텐션(app extension) 프로그램을 만들어야 합니다.
역자설명 : 하단의 예시는 사용자들이 숫자를 더 편하게 입력하게 만든 Numbers의 사용자 지정 입력화면입니다.
사용자 지정 입력 화면(custom input view)이 앱의 사용 맥락에 적합한지 확인하는 것이 좋습니다. 데이터 입력을 간단하고 직관적으로 만드는 것 외에도 사용자 지정 입력 화면을 사용할 때의 이점을 사람들이 이해할 수 있어야 합니다. 그렇지 않으면 사용자들은 시스템 키보드를 다시 사용하고자 할 수 있습니다.
사람들이 입력하는 동안 키보드의 표준 사운드를 재생하세요. 키보드 사운드는 사람들이 시스템 키보드의 키를 탭할 때 익숙한 피드백을 제공하므로 사용자 지정 입력 화면에서 키를 탭할 때 익숙한 표준 사운드를 사용하는 것이 좋습니다. 설정 > 사운드에서 모든 키보드 상호작용에 대해 키보드 소리를 끌 수 있습니다. 개발자 가이드라인은 playInputClick()을 참고하세요.
사용자 지정 입력 보조 화면(custom input accessory view)을 제공하는 것도 고려해 보세요. 입력 보조 화면은 표준이든 사용자 지정이든 가상 키보드 위에 표시되어 사람들이 작업 중인 데이터와 관련된 앱 자체의 기능을 제공할 수 있습니다. 예를 들어, Numbers에서는 스프레드시트 데이터에 적용할 표준 또는 사용자 지정 계산을 입력하는 데 도움이 되는 입력 액세서리 화면을 보여줍니다. 현재 작업과 관련이 없는 콘텐츠를 보여주는데 액세서리 화면을 사용하지 마세요. 개발자 가이드라인은 inputAccessoryView를 참고하세요.
역자설명 : 하단의 예시는 사용자들의 계산을 도와주는 Numbers의 사용자 지정 입력 보조 화면입니다.
iOS, iPadOS 및 tvOS에서는 앱 익스텐션(app extension)을 생성하여 시스템 키보드를 대체하는 사용자 지정 키보드를 제공할 수 있습니다. 앱 익스텐션은 사용자가 시스템의 특정한 기능을 확장하기 위해 설치하고 사용할 수 있도록 제공하는 코드로, 자세히 알아보려면 앱 익스텐션(App extensions)을 참고하세요.
사람들이 설정에서 사용자 지정 키보드를 선택하면 보안 필드 또는 휴대폰 번호 필드를 사용할 때를 제외하고 모든 앱 내에서 텍스트 입력에 사용할 수 있습니다. 사용자는 여러 개의 사용자 지정 키보드를 선택하고 언제든지 키보드 간에 전환할 수 있습니다. 개발자 가이드라인은 Creating a custom keyboard를 참고하세요.
사용자 지정 키보드는 새로운 텍스트 입력 방법이나 시스템에서 지원하지 않는 언어로 입력하는 기능 등 고유한 키보드 기능을 시스템에 적용시키려는 경우에 적합합니다. 사용자가 앱에 있는 동안에 사용할 수 있는 사용자 지정 키보드를 제공하려면 대신 사용자 지정 입력 화면(custom input view)을 만드는 것이 좋습니다.
다양한 유형의 키보드를 전환할 수 있는 명확하고 쉬운 방법을 제공하세요. 사람들은 표준 키보드의 지구본 키(여러 개의 키보드를 사용할 수 있는 경우 이모티콘 키를 대체하는 키)를 탭 하면, 다른 키보드로 전환된다는 사실을 알고 있으며, 키보드에서도 이와 유사한 직관적인 사용 경험을 원합니다.
시스템에서 제공하는 키보드 기능을 중복해서 제공하지 마세요. 일부 디바이스에서는 사용자 지정 키보드를 사용하는 경우에도 이모티콘/글로브 키와 받아쓰기 키가 키보드 아래에 자동으로 표시됩니다. 앱은 이러한 키에 영향을 줄 수 없으며, 키보드에서 이러한 키를 반복해서 제공하면 사용자들이 혼란스러울 수 있습니다.
앱에 키보드 튜토리얼을 제공하는 것이 좋습니다. 사람들은 표준 키보드에 익숙하기 때문에 새로운 키보드 사용법을 배우는 데 시간이 걸릴 수 있습니다. 앱에서 사용 튜토리얼을 제공함으로써 프로세스를 더 쉽게 진행할 수 있습니다. 예를 들어 키보드를 선택하고, 텍스트를 입력하는 동안 활성화하고, 사용하고, 다시 표준 키보드로 전환하는 방법을 알려줄 수 있습니다. 키보드 자체에 도움말 콘텐츠를 보여주지 마세요.
Not supported in macOS or watchOS.
키보드 레이아웃 가이드를 사용하여 키보드가 인터페이스의 통합된 부분처럼 느껴지도록 하세요. 레이아웃 가이드를 사용하면 가상 키보드가 화면에 표시되는 동안에도 인터페이스의 중요한 부분을 계속 볼 수 있습니다. 가이드라인은 iOS keyboard layout guide를 참고하세요.
Siri 리모컨을 사용하여 텍스트 필드를 선택하면 tvOS에 선형 가상 키보드가 표시됩니다.
Note : Siri 리모트 이외의 기기를 사용하면 격자 키보드 화면이 나타나고 콘텐츠의 레이아웃이 키보드에 맞게 자동으로 조정됩니다.
사용자가 숫자 입력 보기를 활성화하면 tvOS에서 숫자 전용 키보드를 표시합니다. 자세한 내용은 Digit entry views를 참고하세요.
비전 OS의 시스템 제공 가상 키보드는 직접 및 간접 제스처를 모두 지원하며, 사용자가 원하는 위치로 이동할 수 있는 별도의 화면에 나타납니다. 레이아웃에서 키보드의 위치를 고려할 필요가 없습니다.
Apple Watch에서는 Apple 연속성 키보드(Continuity Keyboard)를 실행하여 동일한 iCloud 계정으로 로그인한 근처의 iOS 기기에서 텍스트를 입력할 수 있습니다.
UIKeyboardType — UIKit
Design for spatial user interfaces
Date, February 2, 2024 | Changes, Clarified the virtual keyboard’s support for direct and indirect gestures in visionOS.
Date, December 5, 2023 | Changes, Added artwork for visionOS.
Date, June 21, 2023 | Changes, Changed page title from Onscreen keyboards and updated to include guidance for visionOS.