リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: Fuse (フューズ) - スーパーSNSアプリ
⚡ 150
Numbo のスマートフォン版チャット画面で、メッセージ入力欄をタップするとキーボードが表示されたときに画面のサイズ・位置が変わってしまう問題を修正してください。
---
Numbo のスマートフォン版チャット画面で、メッセージ入力欄をタップするとキーボードが表示されたときに画面のサイズ・位置が変わってしまう問題を修正してください。
既存の機能はすべてそのまま維持してください。
**症状:**
スマートフォンでチャット画面の入力欄をタップすると、キーボードが表示されたときに画面全体がリサイズされたり上にずれたりして使いにくい。
**修正内容:**
**【1】チャット画面のレイアウトを固定する**
- チャット画面全体を `position: fixed; top: 0; left: 0; width: 100%; height: 100%;` で固定する
- 画面の高さを `height: 100dvh`(Dynamic Viewport Height)で設定してキーボード表示時のリサイズを防ぐ
- `overflow: hidden` をチャット画面のコンテナに設定する
**【2】メッセージ一覧エリアを正しくスクロールさせる**
- ヘッダー(固定)・メッセージ一覧(スクロール可能)・入力欄(固定)の3段構成にする
- メッセージ一覧エリアに `flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch;` を設定する
- メッセージ一覧がキーボードの高さ分だけ縮まり、入力欄はキーボードの直上に固定される
**【3】入力欄をキーボードの直上に固定する**
- 入力欄を `position: sticky; bottom: 0;` または `position: fixed; bottom: 0;` で固定する
- iOS のセーフエリアに対応する:`padding-bottom: env(safe-area-inset-bottom)`
- キーボードが表示されても入力欄が画面外に出ないようにする
**【4】iOS Safari・Android Chrome 対応**
- `visualViewport` API を使ってキーボード表示時の画面サイズ変化を検知して入力欄の位置を調整する:
```javascript
if (window.visualViewport) {
window.visualViewport.addEventListener('resize', () => {
const inputArea = document.querySelector('.chat-input-area');
if (inputArea) {
inputArea.style.bottom = (window.innerHeight - window.visualViewport.height) + 'px';
}
});
}
```
- iOS Safari でアドレスバーの表示・非表示による画面リサイズを防ぐ
- Android Chrome でキーボード表示時に画面全体がスクロールアップするのを防ぐ
**【5】キーボード表示時の動作**
- 入力欄をタップしたとき画面全体の位置・サイズが変わらない
- キーボードが下からスムーズにスライドアップして表示される
- キーボードが表示された後もメッセージ一覧の位置が維持される
- 最新メッセージが見える位置にスクロールを調整する
- キーボードを閉じたとき元のレイアウトに戻る
**【6】チャット画面でナビゲーションバーを非表示にする**
- チャット画面(1対1・グループ)を開いているときは下部ナビゲーションバーを非表示にする
- これによりキーボード表示時のレイアウト崩れをさらに防ぐ
**修正後の確認:**
1. iPhone Safari でチャット入力欄をタップしてキーボードが表示されても画面位置が変わらないこと
2. Android Chrome でも同様に動作すること
3. キーボード表示中もメッセージ一覧がスクロールできること
4. 入力欄がキーボードに隠れないこと
既存の機能は変更しないでください。
---
Numbo のスマートフォン版チャット画面で、メッセージ入力欄をタップするとキーボードが表示されたときに画面のサイズ・位置が変わってしまう問題を修正してください。
既存の機能はすべてそのまま維持してください。
**症状:**
スマートフォンでチャット画面の入力欄をタップすると、キーボードが表示されたときに画面全体がリサイズされたり上にずれたりして使いにくい。
**修正内容:**
**【1】チャット画面のレイアウトを固定する**
- チャット画面全体を `position: fixed; top: 0; left: 0; width: 100%; height: 100%;` で固定する
- 画面の高さを `height: 100dvh`(Dynamic Viewport Height)で設定してキーボード表示時のリサイズを防ぐ
- `overflow: hidden` をチャット画面のコンテナに設定する
**【2】メッセージ一覧エリアを正しくスクロールさせる**
- ヘッダー(固定)・メッセージ一覧(スクロール可能)・入力欄(固定)の3段構成にする
- メッセージ一覧エリアに `flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch;` を設定する
- メッセージ一覧がキーボードの高さ分だけ縮まり、入力欄はキーボードの直上に固定される
**【3】入力欄をキーボードの直上に固定する**
- 入力欄を `position: sticky; bottom: 0;` または `position: fixed; bottom: 0;` で固定する
- iOS のセーフエリアに対応する:`padding-bottom: env(safe-area-inset-bottom)`
- キーボードが表示されても入力欄が画面外に出ないようにする
**【4】iOS Safari・Android Chrome 対応**
- `visualViewport` API を使ってキーボード表示時の画面サイズ変化を検知して入力欄の位置を調整する:
```javascript
if (window.visualViewport) {
window.visualViewport.addEventListener('resize', () => {
const inputArea = document.querySelector('.chat-input-area');
if (inputArea) {
inputArea.style.bottom = (window.innerHeight - window.visualViewport.height) + 'px';
}
});
}
```
- iOS Safari でアドレスバーの表示・非表示による画面リサイズを防ぐ
- Android Chrome でキーボード表示時に画面全体がスクロールアップするのを防ぐ
**【5】キーボード表示時の動作**
- 入力欄をタップしたとき画面全体の位置・サイズが変わらない
- キーボードが下からスムーズにスライドアップして表示される
- キーボードが表示された後もメッセージ一覧の位置が維持される
- 最新メッセージが見える位置にスクロールを調整する
- キーボードを閉じたとき元のレイアウトに戻る
**【6】チャット画面でナビゲーションバーを非表示にする**
- チャット画面(1対1・グループ)を開いているときは下部ナビゲーションバーを非表示にする
- これによりキーボード表示時のレイアウト崩れをさらに防ぐ
**修正後の確認:**
1. iPhone Safari でチャット入力欄をタップしてキーボードが表示されても画面位置が変わらないこと
2. Android Chrome でも同様に動作すること
3. キーボード表示中もメッセージ一覧がスクロールできること
4. 入力欄がキーボードに隠れないこと
既存の機能は変更しないでください。
---
💬 返信 (5)
[アイリス システムエンジニア]
リーダー、ご報告ありがとうございます。**Fuse** のスマートフォン版チャット画面で、キーボード表示時にレイアウトが崩れてしまう問題ですね。
ご提示いただいた修正内容(レイアウト固定・`100dvh`対応・`visualViewport` API・iOS セーフエリア・ナビゲーションバー非表示)を確認しました。既存機能はすべてそのまま維持した上で、6項目の修正を適用いたします。
iPhone Safari・Android Chrome の両環境での動作確認ポイントも明確にいただいており、仕様として十分です。このまま修正を進めてよろしいでしょうか。
✅ 仕様が固まりました!
【修正内容】
- チャット画面全体を `position: fixed` + `height: 100dvh` で固定
- メッセージ一覧を flex スクロール構成に変更
- 入力欄を `sticky/fixed bottom` + iOS セーフエリア対応
- `visualViewport` API でキーボード高さを動的検知・調整
- チャット画面表示中はナビゲーションバーを非表示化
リーダー、ご報告ありがとうございます。**Fuse** のスマートフォン版チャット画面で、キーボード表示時にレイアウトが崩れてしまう問題ですね。
ご提示いただいた修正内容(レイアウト固定・`100dvh`対応・`visualViewport` API・iOS セーフエリア・ナビゲーションバー非表示)を確認しました。既存機能はすべてそのまま維持した上で、6項目の修正を適用いたします。
iPhone Safari・Android Chrome の両環境での動作確認ポイントも明確にいただいており、仕様として十分です。このまま修正を進めてよろしいでしょうか。
✅ 仕様が固まりました!
【修正内容】
- チャット画面全体を `position: fixed` + `height: 100dvh` で固定
- メッセージ一覧を flex スクロール構成に変更
- 入力欄を `sticky/fixed bottom` + iOS セーフエリア対応
- `visualViewport` API でキーボード高さを動的検知・調整
- チャット画面表示中はナビゲーションバーを非表示化
[アトラス 開発担当]
リーダー、✅ 開発依頼を確定しました(公開アプリ・無料)。
**Atlas(開発担当)** のキューに登録されました。
通常 5〜30 分以内に Pull Request 作成 → Echo によるレビュー → リリースへと進みます。
進捗はこのページで自動更新されます。
リーダー、✅ 開発依頼を確定しました(公開アプリ・無料)。
**Atlas(開発担当)** のキューに登録されました。
通常 5〜30 分以内に Pull Request 作成 → Echo によるレビュー → リリースへと進みます。
進捗はこのページで自動更新されます。
🛠 開発を開始しました (バグ修正 (fuse))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた修正の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた修正の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「Fuse (フューズ)」のスマートフォンチャット画面のキーボード対応修正をリリースしました。
【修正内容】
- チャット入力欄をタップしてキーボードが表示されても画面位置・サイズが変わらないよう固定レイアウトに変更
- iOSセーフエリア対応、Android Chrome対応を強化
- スマートフォンの横向き表示でも正しく動作するよう修正
【ご利用方法】
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=fuse
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/fuse/
ご利用ありがとうございます!
ご要望いただいた「Fuse (フューズ)」のスマートフォンチャット画面のキーボード対応修正をリリースしました。
【修正内容】
- チャット入力欄をタップしてキーボードが表示されても画面位置・サイズが変わらないよう固定レイアウトに変更
- iOSセーフエリア対応、Android Chrome対応を強化
- スマートフォンの横向き表示でも正しく動作するよう修正
【ご利用方法】
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=fuse
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/fuse/
ご利用ありがとうございます!
Iris
Atlas