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

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

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

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

Q&A

1回答

1342閲覧

カスタムキーボードを閉じたい

yutopc7788

総合スコア12

Swift

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

0グッド

0クリップ

投稿2018/12/12 13:56

編集2022/01/12 10:55

XcodeのTargetからカスタムキーボードを作成しました。

ボタンをタップしキーボードを閉じたいのですが、アプリ内にテキストエリアはありません。
そのためどのホームページを見ても、テキストエリアに関連して閉じている記事ばかりです。

私の場合は、Webviewで表示をしてWebページ上のフォームを入力するときに使用したいです。
その際にキーボードを閉じたいのですがどうしたら良いですか?

resignFirstResponder()
view.endEditing(true)

上記のものは動作しませんでした。

使い方が誤っているのでしょうか?
よろしくお願いします。

swift

1import UIKit 2 3 4class KeyboardViewController: UIInputViewController { 5 @IBOutlet var nextKeyboardButton: UIButton! 6 var calculatorView: UIView! 7 8 9 @IBAction func deleteKey(_ sender: Any) { 10 self.textDocumentProxy.deleteBackward() 11 } 12 13 override func updateViewConstraints() { 14 super.updateViewConstraints() 15 16 // Add custom view sizing constraints here 17 } 18 19 override func viewDidLoad() { 20 super.viewDidLoad() 21 let calculatorNib = UINib(nibName: "KeyboardView", bundle: nil) 22 calculatorView = calculatorNib.instantiate(withOwner: self, options: nil)[0] as? UIView 23 view.addSubview(calculatorView) 24 nextKeyboardButton.addTarget(self, action: #selector(UIInputViewController.advanceToNextInputMode), for: .touchUpInside) 25 26 27 } 28 29 override func didReceiveMemoryWarning() { 30 super.didReceiveMemoryWarning() 31 // Dispose of any resources that can be recreated 32 } 33 34 override func textWillChange(_ textInput: UITextInput?) { 35 // The app is about to change the document's contents. Perform any preparation here. 36 } 37 38 override func textDidChange(_ textInput: UITextInput?) { 39 // The app has just changed the document's contents, the document context has been updated. 40 } 41 @IBAction func buttonNext(sender: AnyObject) { 42 self.advanceToNextInputMode() 43 } 44 45====== 46内容省略 47==== 48 49 50 @IBAction func exitKey(_ sender: Any) { 51 view.endEditing(true) 52 } 53 54} 55

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

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

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

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

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

guest

回答1

0

ボタンを押したらremoveFromSuperview()でViewを削除するとかじゃだめですかね?

投稿2018/12/15 06:39

harumi

総合スコア407

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

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

yutopc7788

2018/12/16 13:20

閉じるというか、WebViewのテキストフォーカスをSwift上で外したいという表現のほうがあっているのかもしれません。 これであればどのような処理をしたら良いですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問