プロジェクトの難易度: IOS でソフト キーボードをアクティブにした後のページ スタイルとレイアウトの乱れの問題を解決する

1. 背景 

需要の背景:

    アンケートスターと同様のアンケートシステムを開発し、リファクタリングを行いましたが、最初はPC側の開発でしたが 一番困ったのはIEブラウザの互換性と順応性でした。

    その後、プロジェクトマネージャーから、 モバイル端末 の同時開発を依頼されましたが、簡単に言うと、アプリやオフィスシステム、小さなプログラムなどに組み込むためのH5ページを書くというもので、当初は開発とテストが行​​われました 。 Edge ブラウザシミュレータ 。私も初めてモバイル プロジェクトを開発しているため、経験がありません (後で、IOS には互換性の問題があるため、固定位置の使用は避けるべきだと学びました)。したがって、プロジェクトの開発とデプロイに Jenkins を使用してパッケージ化してデプロイした後、IOS システムの実際の Apple デバイスでテストすると、さまざまな奇妙な問題が発生します。


    最初にして最大の問題は次のとおりです。

        1. 入力ボックスにフォーカスがあり 、内容を入力するためにソフトキーボード を呼び出したとき、つまりソフトキーボードをしまった後、ページ全体のレイアウトや組版が崩れてしまい、再度入力ボックスを選択したいとき実際、この時点ではページ全体が外れており、再度フォーカスを選択したい場合は、そのフォーカスをクリックする必要があります。


2. 解決プロセス

とにかく、それは百度のあらゆる種類、偉人からのあらゆる種類のアドバイスです。

JSBridgeAlipay H5 オープンドキュメント


百度の解決策:

H5 IOS入力にフォーカスがあるとページ全体が上に押し上げられるが、キーボードを閉じてもページが下に移動しないバグを解決

IOSでソフトキーボードを閉じるとページが押し上げられ、元に戻せない究極の解決策

ユニアプリ開発プロジェクト:

h5 ページ ios がソフト キーボードを呼び出してピット ナゲッツを踏むことを思い出してください。

UniApp の入力コンポーネントが IOS デバイス上でソフト キーボードをポップアップし、入力コンポーネントがフォーカスされた後にポップアップ ソフト キーボードがソフト キーボードの上部に固定され、戻るときにページが上に移動する問題の解決策焦点を失った後、元の位置に戻ります。_ios ポップアップ キーボード インターフェイスが上に移動します


上記の奇妙な方法をすべて試しましたが、最終的にはまだ役に立ちません。

3. 解決策

最後に会社の上司に相談したら、基本的にはOKですよ~

-webkit-backface-visibility_Notebooks_Design Academy

結合 ➕ : -webkit-transform: translation3d(0,0,0)  

App.vue でグローバルに構成すれば完了です。

(もちろん、Androidシステムに影響を与える可能性があるため、IOSシステム用の属性を追加するかどうかを判断するのが最善です~)


4. 最終コード

<script>
export default {
	mounted() {
		// 判断是否为IOS系统以添加CSS属性
		let u = navigator.userAgent;
		let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端
		if (isIOS) {
			let iosApp = document.getElementById('app');
			iosApp.style.backfaceVisibility = 'hidden';
			iosApp.style.transform = 'translate3d(0,0,0)';
		}
	},
};
</script>

完璧!授業後〜

おすすめ

転載: blog.csdn.net/weixin_58099903/article/details/132282446