0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iPadでキーボードの予測変換候補が表示されるバー(Shortcut Bar)の左右にボタンを追加する

Last updated at Posted at 2025-08-18

やりたいこと

iPadのソフトウェアキーボードには予測変換候補が表示されるエリアの両端にボタンを3つ配置できる。
デフォルトだと左側にUndoとRedo、ペーストボタンが表示され、右側にはなにもないパターンが多いと思う。
この右側や左側に自分で用意したボタンを表示できないのだろうか?

IMG_0284.jpg

Shortcuts BarとUITextInputAssistantItem

お恥ずかしながらそのボタンを表示するところの名前がまったくわからず、「ios keyboard ボタン」だとかでググるも手がかりがないまま3日目を迎えたが、「swift keyboard icon」で画像検索したら、とうとう見つけた!
予測変換候補が表示されるエリアは「Shortcuts Bar」と呼ぶのだと!
そして予測変換候補が表示されるエリアの両端に表示するボタンを制御するクラスは「UITextInputAssistantItem」なのだと!!

UITextInputAssistantItemの使い方

基本的にはUINavigationBarやUIToolBarにボタンをセットするように、UIBarButtonItemをUITextFieldのinputAssistantItemに入れるだけです。

let playButton = UIBarButtonItem(barButtonSystemItem: .play, target: self, action: #selector(tappedShortcutBarPlayButton(_:)))
let shortcutBarButtons = UIBarButtonItemGroup(barButtonItems: [playButton], representativeItem: nil)

//ShortcutBarの右側に追加したいのであればinputAssistantItemのtrailingBarButtonGroupsへ代入
textField.inputAssistantItem.trailingBarButtonGroups = [shortcutBarButtons]
//左側に追加するのであればleadingBarButtonGroupsへ
textField.inputAssistantItem.leadingBarButtonGroups = [shortcutBarButtons]

わからなければ公式ドキュメントもチェック

あとがき

自分の探し方が悪かったのかなとも思いますが、自分みたいに悩んでいる方の一助になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?