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

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

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

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

Swift

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

Q&A

解決済

1回答

1746閲覧

Notification外でキーボードの高さを取得する方法

midori0822

総合スコア61

Xcode

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

Swift

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

0グッド

1クリップ

投稿2018/04/17 12:23

こんにちは。

タイトルの通りなのですがhandleKeyboardWillShowNotificationなどの(_ notification: Notification)を使うメソッド外で、開いたときのキーボードの高さを取得する方法はありますか。
キーボードが閉じている時にその高さ分scrollviewを移動したいです。
あるサイトでCGFloat(…)を使い取得していたのですが同じものを打ち込んでも取得できず、(…)内で打ち込まれていたものを他の場所で定義している様子もありませんでした。これはswift4になり仕様が変わったからなのでしょうか。それとも自分がその定義している場所を見落としているからなのでしょうか。

分かる方、ご回答お待ちしております。

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

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

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

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

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

guest

回答1

0

ベストアンサー

クラス変数を宣言し、値を保持しておけば良いかと思います。
(参考にされたサイトでもおそらくどこかで定義されているとは思うのですが。)

class ViewController: UIViewController { // 高さ保存用の変数 private var height: CGFloat = 0.0
// キーボードが開いたときの処理 @objc private func keyboardWillShow(_ notification: Notification) { guard let userInfo = notification.userInfo as? [String: Any] else { return } guard let keyboardInfo = userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue else { return } guard let duration = userInfo[UIKeyboardAnimationDurationUserInfoKey] as? Double else { return } let keyboardSize = keyboardInfo.cgRectValue.size // ここで設定する height = keyboardSize.height

また、もしキーボードの高さ分スクロールを元に戻したいという場合でしたら下記のような方法もあります。
https://qiita.com/sgr-ksmt/items/1d72d9973bc6220a5633

投稿2018/04/17 21:52

newmt

総合スコア1277

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

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

midori0822

2018/04/18 15:29

解決しましたありがとうございます! もう一つの質問返信遅れて申し訳ございません…解決次第返信します!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問