デバイスのキーボードの高さを取得して、同じ高さのオブジェクトを構築したいと考えています。これらのオブジェクトは、キーボードが実際に表示される前にそこに存在するので、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. レンダリングされた要素の高さを画面に表示する前に取得する(ReactJS)
- 3. React-Nativeでキーボードの高さを取得するには?
- 4. スクロールでインタラクティブに解除されているキーボードの高さを取得
- 5. NativescriptでAndroidキーボードの高さを取得する
- 6. キーボードがタブバーコントローラー内に表示される
- 7. キーボードが表示されているときにモバイル用のボディーの高さが変更されます
- 8. キーボードを表示すると20dipが表示されます
- 9. キーボードが表示されたときにスクロールテーブルビューの行が表示されるiOS
- 10. 前の要素の高さを取得
- 11. フォーカスがキーボードに表示されます。
- 12. 拡張の前にdivの高さを取得する方法
- 13. connectionDidFinishLoadingからデータを取得する前にUITableViewが表示される
- 14. レイアウトでレンダリングする前にTextViewの高さを取得
- 15. キーボードが表示されているときにナビゲーションバーが表示されない
- 16. キーボードが表示された後にはじめて表示される
- 17. Xamarin form-UWP - リストの高速スクロールでデータが表示される前に黒いセルが表示される
- 18. ハードウェアキーボードが接続されているときにiOSキーボードの高さを取得する
- 19. ブートストラップモバイルデバイスのキーボードが表示されます
- 20. キーボードが表示されている場合、RecyclerViewの高さが変更されます
- 21. iPhoneにHTMLテキストフィールドをフォーカスすると(キーボードが表示される)
- 22. タブバで表示されているキーボードを無効にする
- 23. 与えられた前に表示されている前のテキストノードを取得するには?
- 24. iPadのUIModalPresentationFormSheet。キーボードが表示されたときにUITextViewの高さを調整する方法
- 25. キーボードが表示されるときにスクロールを表示するios
- 26. javafx imageViewで表示される画像の幅/高さを取得するには?
- 27. XMLが取得された後にProgressDialogが表示される
- 28. F#コンパイラサービス:スコープ内に表示される名前のリストを取得
- 29. Photoshop Script - グループ/レイヤー内に表示されるレイヤーの名前を取得
- 30. ページが表示される前にgifを表示する
で
を与える負荷
別の関数をしましたキーボーアが何であるか知っているrdサイズは表示されるまでになります。ユーザーがカスタムキーボードをインストールしているか、キーボードを切り替えている可能性があります。キーボードによっては高さが異なるものや、ツールバーがあるものがあります。 – rmaddy