Xamarin.Forms で ListViews のセーフ エリアの問題をどのように処理しますか? ListView 全体のマージンとしてセーフ エリアを設定するだけでは、醜い AF に見えます。そこで、カスタム レンダラーのようなものを検索して、ListView を iPhone X の UITableView と同等にできるようにします。現在のソリューションでは、ViewCells を正しい位置に配置しましたが、セパレーターが画面から外れて、ShortGroup インデックスが Notch の後ろにあります。いくつかの回転で。それに加えて、私の現在のソリューションは、すべてのプロジェクトでそれを実装するために多くの作業を行う方法です (回避策として CustomViewCell クラスを使用しているため)。
では、この問題に対してカスタム レンダラーを実装するにはどうすればよいでしょうか。私の現在の実装はすべて正しく機能していないようです。そして、Xamarin がこれを修正するのを待つことは選択肢ではないと思います (MasterDetail ページは iOS SplitView ではまだ機能せず、これは 2015 年に報告され、Xamarin では無視されているためです...)。
編集: Xamarin.Forms の ListView の問題は、ListView コントロールが ContentPage のルートでない場合にのみ発生しました。私の場合、こちら側にも SearchBar が必要なため、Grid 内にあります。この場合、ListView (および ShortGroup インデックス) のコンテンツは、iPhone X の丸みを帯びた角とノッチによって切り取られます。非常に見栄えが悪く、片側に SearchBar と ListView を配置するのは非常に一般的な方法だと思います。これは、最初の回避策を持つプロジェクトのリポジトリです (ShortGroup インデックスにはまだ問題があり、通常はその前に停止するセパレーターが表示領域の外で実行されます): https://github.com/Sebastian1989101/ OpenGeoDB アプリ