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

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

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

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

2回答

664閲覧

特定のviewでキーボードが開かれるのを検知するやり方

ILoveApple

総合スコア8

iOS

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

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2019/02/07 08:19

編集2019/02/08 13:48

前提・実現したいこと

WKWebViewで特定のviewが開かれたらコードを実行できるようにしたいです。
調べたところ、NotificationCenterを使えばいいということがわかりましたが、特定のviewのみ動くというやり方がわかりません。
Googleで色々調べてみましたができるものはありませんでした。
わかる方がいらっしゃったら教えてください。

該当のソースコード

Swift

1NotificationCenter.default.addObserver(self,selector: #selector(keyboardWillShow(notification:)),name: UIResponder.keyboardWillShowNotification,object: nil)

試したこと

該当のソースコードにviewを自分なりにつけて試しましたがうまくいきませんでした。

補足情報(FW/ツールのバージョンなど)

Swift, Xcode, macOSはどれも最新です。

すごくわかりにくくなってしまい申し訳ありません。
僕が実現したいのは1つのviewcontrollerに2つのWKWebViewがあり、その2つのうち片方のみキーボードが開いたら(例えば、そのWKWebViewでGoogleを開いて検索窓をタップして、iPhoneのソフトウェアキーボードが開いたとき)コードを実行できるようにしたいです。

すごくわかりにくいと思うので意味不明なところがあったら教えてください。

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

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

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

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

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

t_obara

2019/02/07 09:56

特定のViewとのことですが、WKWebViewであれば、特定のページ、URLを表示した時という意味でしょうか?
ILoveApple

2019/02/07 10:11

そうです。 わかりにくくて申し訳ないです
ILoveApple

2019/02/08 06:25

なんか私が誤解していたと思うのですが、私が開発したいのは1つのviewcontrollerに2つのWKWebViewがあって、片方のWKWebViewでキーボードが開かれた時に動作するようにしたいです。 私の説明が不十分ですみませんでした。 やり方があったらURLだけでも教えていただければ嬉しいです。
t_obara

2019/02/08 09:14

質問自体変更ができるので、そちらにやりたいことを明確に記載してください。WKWebViewで表示されたWebの中にあるテキストをタップするとキーボードが現れますが、その時のイベントを取得したいということでしょうか?
ILoveApple

2019/02/10 02:25

特定のviewだけキーボードが開くのを監視するのは不可能なのでしょうか。
guest

回答2

0

keyboardWillShowの中で、「WKWebViewで表示しているURL」を判別して、
関係ないURLだったら何もせずにreturnすれば良いのではないでしょうか。

投稿2019/02/08 06:11

takabosoft

総合スコア8356

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

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

0

https://qiita.com/kmifa/items/72417b0c99daad4d64c5
上記を参考にurlを確認し、監視対象の場合のみNotificationされた際に処理をするようにすれば良いかと。

投稿2019/02/08 02:03

t_obara

総合スコア5488

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

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

t_obara

2019/02/13 04:20

> 特定のviewだけキーボードが開くのを監視するのは不可能なのでしょうか。 特的のUITextFieldの場合、間接的ですが、以下を利用すれば良いのではないでしょうか。 textFieldShouldBeginEditing
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問