デバイスのキーボードの高さを取得して、同じ高さのオブジェクトを構築したいと考えています。これらのオブジェクトは、キーボードが実際に表示される前にそこに存在するので、thisのようなメソッドを使用することはできません。実際に出現することなくキーボードの高さを得る方法があるのだろうかと思っていましたか?表示される前にキーボードの高さを取得する
0
A
答えて
0
Ivも同様の問題がありました。私は最初にキーボードが表示されなくてもキーボードの高さを得る方法を見つけることはできませんが、周りに道があります。ビュー内の
var keyboardHeight = CGFloat()
var keyboardFirstTime = true
あなたは「あなたができるので、リンクされたアプローチを使用する必要があり、キーボードの高さにtextFieldDidBeginEditing
func textFieldDidBeginEditing(_ textField: UITextField)
{
//adds .01 delay to wait and assign keyboard height for the first time
if keyboardFirstTime == true
{
let when = DispatchTime.now() + 0.01
DispatchQueue.main.asyncAfter(deadline: when)
{
UIView.animate(withDuration: 0.25, delay: 0, options: [.curveEaseOut], animations:
{
self.searchField.frame.origin.y = self.view.frame.height - self.keyboardHeight - self.searchField.frame.size.height
}, completion: nil)
}
keyboardFirstTime = false
}
else
{
UIView.animate(withDuration: 0.3, delay: 0, options: [.curveEaseOut], animations:
{
self.searchField.frame.origin.y = self.view.frame.height - self.keyboardHeight - self.searchField.frame.size.height
}, completion: nil)
}
textField.text = ""
}
+0
keyboardFirstTimeブール値は非常に小さな遅延を追加します。これにより、キーボードの高さを計算してvarに設定するのに十分な時間がコードに与えられます。 –
関連する問題
- 1. ステータスバーが表示される前にその高さを取得しますか?
- 2. スクロールでインタラクティブに解除されているキーボードの高さを取得
- 3. キーボードが表示されているときにモバイル用のボディーの高さが変更されます
- 4. キーボードを表示すると20dipが表示されます
- 5. 前の要素の高さを取得
- 6. キーボードが表示されたときにスクロールテーブルビューの行が表示されるiOS
- 7. フォーカスがキーボードに表示されます。
- 8. 拡張の前にdivの高さを取得する方法
- 9. connectionDidFinishLoadingからデータを取得する前にUITableViewが表示される
- 10. レイアウトでレンダリングする前にTextViewの高さを取得
- 11. キーボードが表示された後にはじめて表示される
- 12. キーボードが表示されているときにナビゲーションバーが表示されない
- 13. ハードウェアキーボードが接続されているときにiOSキーボードの高さを取得する
- 14. ブートストラップモバイルデバイスのキーボードが表示されます
- 15. キーボードが表示されている場合、RecyclerViewの高さが変更されます
- 16. タブバで表示されているキーボードを無効にする
- 17. iPhoneにHTMLテキストフィールドをフォーカスすると(キーボードが表示される)
- 18. iPadのUIModalPresentationFormSheet。キーボードが表示されたときにUITextViewの高さを調整する方法
- 19. XMLが取得された後にProgressDialogが表示される
- 20. javafx imageViewで表示される画像の幅/高さを取得するには?
- 21. キーボードが表示されるときにスクロールを表示するios
- 22. ページが表示される前にgifを表示する
- 23. キーボードを開いたときにキーボードの高さまたは上部の位置を取得する
- 24. 画像が読み込まれる前に高さを取得する
- 25. スクロール中にキーボードを閉じるとテキストメッセージが表示される
- 26. タスクリストに表示される順序でタスクを取得する
- 27. キーボードの高さを変更するオブザーバースイフト
- 28. キーボードによるUIScrollViewの高さ
- 29. テキストフィールドの選択時に、キーボードの表示高さを調整します
- 30. キーボードの表示時にAndroidのレイアウトがラップされる
で
を与える負荷
別の関数をしましたキーボーアが何であるか知っているrdサイズは表示されるまでになります。ユーザーがカスタムキーボードをインストールしているか、キーボードを切り替えている可能性があります。キーボードによっては高さが異なるものや、ツールバーがあるものがあります。 – rmaddy