bubble iosにおいてキーボードを開くとページが画面上部に食い込む

1.前提条件

・bubbleアプリをBDK Nativeを用いてネイティブ化している

2.発生している問題

・iPhoneのノッチ付きの比較的新しい端末について、チャットなどでキーボードを開くと画面が上部に若干食い込み上方向にずれてしまう
・食い込みは戻る時があるがどのような条件で戻るのか把握できていない
・iPhone7などのノッチの無いiPhoneでは発生しないが、iPhone12、iPhone15などノッチのある新しいiPhoneで発生する

3.エラーメッセージ

4.実装したい機能

・キーボードを開いても食い込まないようにしたい

5.スクリーンショット

スクショを添付します。赤く塗った箇所がおおよそのノッチの部分です。


↑これは正しい状態です。


↑上部に食い込むと、ヘッダーの上部に隙間ができてしまいスクロールしたコンテンツが隙間から見えてしまう、という状況です。

ヘッダーの位置は固定なのですが、セーフエリア( iPhone Xのセーフエリアやマージン幅について #iOS - Qiita )自体が上方向に広がってしまっているように見えます。

これが発生する条件は、チャットなどでキーボードを使用したときで、以下のようなイメージです。


↑チャットでキーボードを開くとコンテンツが画面最上部まで入り込んで(これが正しいかエラーなのかは分かりませんが)、上記画像のような状態に一度なるとそれ以降画面が少し上に食い込む形です。


↑キーボードが開いていない時はこのような形です。青部分にはユーザー名が入っています。

よろしくお願いします。

BDK のノウハウは、他の方もなかなか、無いので、大変ですよね。

私もあんまり不明瞭ですが、
一般的にはノッチ対策は、基本は、ウィジェット側で、
SafeArea使うのだと思います。
(ノッチやステータスバーなどに重ならないエリア)

例えば、以下のようなウィジェットを組むことで、ノッチがあった場合には、その下にウィジェットが対応可能になります。

SafeArea(
child: Scaffold(
body: Center(
child: Text(‘これは、セーフエリアです’),
),
),
)

ただ、BDK側で、上記のウィジェットを作成できるのか、私もちょっと調べてきれてないです。BDKドキュメントには、SafeAreaに関する記述やコメントがないため、もしかしたら、BDK自体が、ノッチ非対応なのかもしれません。

一旦、参考程度で、申し訳ないです。

ありがとうございます、、、色々調べてみます。。

「いいね!」 1

突然のご連絡を失礼いたします!
こちらの問題について解決はされましたでしょうか??

同様の案件でつまづいており…:man_bowing:

お返事遅くなりました、、!

結論から申し上げますと、ヘッダーの

トップマージンを-50px
トップパディングを50px

にすることで解決できました!

極稀にマージンやパディングにマイナスを使うのですが、それによって子エレメントを親グループの枠から貫通させて飛び出させるができるんですよね。

トップマージンを-50にすることで今回問題になっている隙間を埋めて、上に食い込ませるわけですね。このままだと子エレメントも上方向に食い込むので、その埋め合わせとしてトップパディングを50作ってプラマイゼロにする、という形です。

「いいね!」 1

ちなみに、takashiさんは以下の現象についてはどうですか?解決できず困っています。。。

恐らくそちらでも同じような問題が起こるのではないでしょうか??