スクリーン上のキーボード
iOS、iPadOS、および tvOS では、システムは人々がデータを入力するために使用できるさまざまな種類のオンスクリーンキーボードを提供します。
スクリーン上のキーボードは、現在のタスクに最適化された特定のキーセットを提供できます。たとえば、電子メールアドレスの入力をサポートするキーボードには、「@」文字とドット、さらには「.com」を含みます。スクリーン上のキーボードでは、キーボードショートカットは有効になりません。
あなたのアプリで適切な場合には、システムが提供するキーボードを、アプリ固有のデータ入力を可能にするカスタムビューに置き換えることができます。人々がインストールして標準キーボードの代わりに使用できるカスタムキーボードを提供するアプリ拡張機能を作成することもできます。
ベストプラクティス
人々が編集しているコンテンツの種類にスクリーン上のキーボードを合わせます。 たとえば、数字と句読点のキーボードを提供して、人々が数値データを入力しやすくすることができます。テキスト入力領域に意味を持たせると、システムは、期待する入力の種類に一致するキーボードを自動的に提供できます。この情報を使用して、提供されるキーボードの修正を改善できる可能性があります。開発者向けガイダンスについては、UIKeyboardType (UIKeyboardType) および UITextContentType" (UITextContentType) を参照してください。
Alphabet | ASCII Capable | ASCII Capable Number Pad | Decimal Pad | Default |
Email Address | Name Phone Padd | Number Pad | Numbers and Punctuation | Phone Pad |
URL | Web Search |
Alpabet
ASCII Capable
ASCII Capable Number Pad
Decimal Pad
Default
Email Address
Name Phone Pad
Number Pad
Numbers and Punctuation
Phone Pad
URL
Web Search
テキスト入力体験を明確にするのに役立つ場合は、[Return] キー ラベルをカスタマイズすることを検討してください。 たとえば、[Return] の代わりに [Join] または [Done] を使用するのが理にかなっている場合があります。開発者向けガイダンスについては、UIReturnKeyType (UIReturnKeyType) を参照してください。
カスタム入力ビュー
あなたのアプリのデータ入力タスクを強化するカスタム機能を提供したい場合は、入力ビューを作成できます。たとえば、Numbers では、スプレッドシートの編集中に数値を入力するためのカスタム入力ビューが提供されています。カスタム入力ビューは、人々があなたのアプリ内にいる間、システムが提供するキーボードを置き換えます。開発者向けガイダンスについては、inputViewController を参照してください。あなたのアプリだけでなく、他のアプリでも人々が使用できる カスタムキーボード を作成したい場合は、人々がインストールできるアプリ拡張機能を作成する必要があります。
あなたのカスタム入力ビューがアプリのコンテキストで意味があることを確認してください。 データ入力をシンプルかつ直感的にするだけでなく、あなたのカスタム入力ビューを使用する利点を人々に理解してもらいたいと考えているでしょう。そうしないと、あなたのアプリを使用しているときにシステムキーボードを再取得できない理由を疑問に思うでしょう。
人々が入力している間、標準のキーボードサウンドを再生します。 キーボードサウンドは、人々がシステムキーボードのキーをタップしたときにおなじみのフィードバックを提供するため、カスタム入力ビューでキーをタップしたときに同じサウンドを期待します。[設定] > [サウンド] で、すべてのキーボード操作に対して人々はキーボードクリックをオフにすることができます。開発者向けガイダンスについては、playInputClick (playInputClick) を参照してください。
カスタム入力アクセサリビューを提供することを検討してください。 入力アクセサリビューは、標準またはカスタムのいずれであっても、スクリーン上のキーボードに表示でき、人々が操作しているデータに関連するアプリ固有の機能を提供します。たとえば、[Numbers] には、スプレッドシート データに適用する標準またはカスタム計算を人々が入力するのに役立つ入力アクセサリビューが表示されます。アクセサリビューを使用して、現在のタスクに関係のないコンテンツを表示することは避けてください。開発者向けガイダンスについては、inputAccessoryView を参照してください。
カスタムキーボード
アプリ拡張機能を作成することで、システムキーボードを置き換えるカスタムキーボードを提供できます。アプリ拡張機能 は、人々がインストールしてシステムの特定の領域の機能を拡張するために使用できるコードです。詳しくは、アプリ拡張機能 をご覧ください。
人々が [設定] であなたのカスタムキーボードを有効にすると、セキュリティで保護されたテキストフィールドと電話番号フィールドを編集する場合を除き、任意のアプリ内でテキスト入力に使用できます。人々は複数のカスタムキーボードを有効にして、いつでもそれらを切り替えることができます。開発者向けガイダンスについては、カスタムキーボードの作成 (Creating a custom keyboard) を参照してください。
テキストを入力する斬新な方法や、システムがサポートしていない言語を入力する機能など、システム全体で独自のキーボード機能を公開したい場合、カスタムキーボードは理にかなっています。人々があなたのアプリ内でのみ使用できるカスタムキーボードを提供したい場合は、代わりに カスタム入力ビュー を作成することを検討してください。
キーボードを切り替える、明確で簡単な方法を提供して下さい。 人々は、標準キーボードの [グローブ] キー (複数のキーボードが有効になっている場合に絵文字キーに置き換わる) がすぐに他のキーボードに切り替わることを知っており、あなたのキーボードでも同様の直感的な体験を期待しています。
システムが提供するキーボード機能を複製しないでください。 一部のデバイスでは、人々がカスタムキーボードを使用している場合でも、絵文字/グローブ キーと書き取りキーがキーボードの下に自動的に表示されます。あなたのアプリはこれらのキーに影響を与えることができず、あなたのキーボードでそれらを繰り返すと混乱します。
あなたのアプリでキーボードチュートリアルを提供することを検討してください。 人々は標準キーボードに慣れており、新しいキーボードの使い方を習得するには時間がかかります。あなたのアプリで使用方法を提供することで、プロセスを簡単にすることができます。たとえば、あなたのキーボードを有効にする方法、テキスト入力中にキーボードをアクティブにする方法、キーボードを使用する方法、標準のキーボードに戻す方法などを伝えることができます。キーボード自体にヘルプコンテンツを表示しないようにします。
プラットフォームの考慮事項
macOS または watchOS ではサポートされていません。
iOS, iPadOS
キーボードレイアウトガイドを使用して、キーボードがあなたのインターフェイスの統合された一部のように感じられるようにします。 レイアウトガイドを使用すると、キーボードがスクリーン上に表示されている間もインターフェイスの重要な部分を常に表示しておくことができます。ガイダンスについては、iOS キーボードレイアウトガイド を参照してください。
うまく連携します。
watchOS
Apple Watch では、人々は Apple Continuity Keyboard を起動して、同じ iCloud アカウントにサインインしている近くの iOS デバイスからテキストを入力できます。
tvOS
tvOS は、人々が Siri Remote を使用してテキストフィールドを選択すると、線状のオンスクリーンキーボードを表示します。
注意
Siri Remote 以外のデバイスを人々が使用すると、グリッドキーボードスクリーンが表示され、コンテンツのレイアウトがキーボードに自動的に適応します。
人々が数字入力ビューをアクティブにすると、tvOS は数字固有のキーボードを表示します。ガイダンスについては、数字入力ビュー を参照してください。
リソース
関連
開発者用文書
UIKeyboardType — UIKit (UIKeyboardType)