iOS에서는 다양한 타입의 키보드를 제공한다. 각각의 키보드 타입은 가장 효율적인 입력을 위해 다르게 디자인되어 있다. 아이패드인 경우 블루투스 키보드처럼 외부입력을 사용할 수도 있는데 이 때 사용자가 기대하는 바를 또 반영해야 한다. iPad의 키보드에 관해서는 하단에 있는 관련 문서를 참조해보자.
예를 들어, 사용자가 숫자를 입력하길 원한다면 숫자패드를 제공해주고 비밀번호를 입력하려고 한다면 그에 맞는 문자패드 혹은 키보드 속성을 줄 수 있다. 키보드 다양한 키보드 타입이 제공되니 확인해보자.
UIKeyboardType
https://developer.apple.com/documentation/uikit/uikeyboardtype
말이 어려운데 쉽게 설명하자면 키보드가 올라갈 때 UI요소를 가릴 수 있다. 이 때 키보드가 UI를 가리는 만큼 살짝 올라가도록 만든다면 사용자는 모든 UI를 사용하는데 문제가 없을 것이다. 이처럼 키보드가 중요한 UI적 요소들에 잘 접근하거나 소비할 수 있도록 키보드를 UI의 다른 요소들과 함께 작동하도록 통합하라는 의미다. 아래 레이아웃 가이드를 살펴보는 것도 좋겠다.
Layout Guides and Safe Aread
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/#layout-guides-and-safe-areas
키보드를 사용하는데 있어서 가장 중요한 두 요소를 살펴보았다. 이 내용은 iphone이든 ipad든 시스템 키보드를 사용한다면, 꼼꼼히 체크해야 한다. 2번은 실제로 개발자가 코드로 구현을 해줘야 하는 부분인데, RxKeyboard를 통해서 간단히 구현하고 계산하는 방법을 추후에 알아보겠다.
Apple Human Interface Guideline
https://developer.apple.com/design/human-interface-guidelines/ios/user-interaction/keyboards/