質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

917閲覧

[iOS] UITextFieldの入力に際して、標準キーボードを使用しない方法

masabunchor

総合スコア97

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2019/02/15 02:31

編集2019/02/15 02:51

[やりたいこと]
UITextFieldの入力に関して、標準キーボードを使用せずに、UIButtonを用いて独自の仮想キーボードでの入力を行いたいです。

[何故?]
画面レイアウト上の制約があるため。
iPadの横画面のアプリを開発しています。標準キーボードを使用した場合、画面の下半分が埋まってしまい都合が悪いです。
ScrollView等で画面全体をずらす方法は、デザイン上今回はNGです。

[出来ていること]
独自キーボードの押下時、FirstResponderを取得してフォーカスの当たっているUITextFieldに任意の文字を追加することは行えています。

[出来ていないこと]
・UITextFieldにフォーカスが当たっている際に、標準キーボードを非表示にすることが出来ずにいます。
・また、textFieldShouldBeginEditingを常にFalseを返すようにした場合、そもそもフォーカスが外れてしまうため行いたいことが実現出来ないでいます。※参照先

何か妙案、ありますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

UITextFieldInputViewにダミーのViewを設定するのはどうでしょうか。

C#

1textField.InputView = new UIView();

投稿2019/02/15 03:31

編集2019/02/15 03:31
f-miyu

総合スコア1625

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masabunchor

2019/02/15 04:21

f-miyuさん、回答ありがとうございます。 おお…こんなやり方があるのですね! ショートカットバーが残って邪魔でしたので、こちらは ```C# textField.LeadingBarButtonGroups = new UIBarButtonItemGroup[] { }; textField.InputAssistantItem.TrailingBarButtonGroups = new UIBarButtonItemGroup[] { }; ``` で表示を消しまして、いい具合です。 自分だときっと見つけられなかったやり方です。ありがとうございました!
masabunchor

2019/02/15 04:21

f-miyuさん、回答ありがとうございます。 おお…こんなやり方があるのですね! ショートカットバーが残って邪魔でしたので、こちらは ```C# textField.LeadingBarButtonGroups = new UIBarButtonItemGroup[] { }; textField.InputAssistantItem.TrailingBarButtonGroups = new UIBarButtonItemGroup[] { }; ``` で表示を消しまして、いい具合です。 自分だときっと見つけられなかったやり方です。ありがとうございました!
masabunchor

2019/02/15 04:22

二重投稿になってしまいました… すみません!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問