web-dev-qa-db-ja.com

Xamarinフォーム検索バーiOS 13は背景色を無視します

IOS(13)の最新バージョンは、検索バーの背景色を無視しているようです。

iOS 13 UISearchBarの色合いの変更、同じ結果を達成することはできません

私はこれを使用しており、以下のすべてのバージョンで動作しますが、13では背景色を無視して白くします

  <SearchBar HeightRequest="35" BackgroundColor="#2A4880" TextColor="White"></SearchBar>

これは既知の問題ですか?回避策はありますか?

5
Patrick Goode

これはIOS 13で私のために働きました、このバグに関するGithubディスカッションをチェックしてください

UISearchBar.SearchTextField.BackgroundColor = UIColor.White;

https://github.com/xamarin/Xamarin.Forms/issues/8041#issuecomment-544658047

0
Gihan Sandaru

GitHubの問題は https://github.com/xamarin/Xamarin.Forms/issues/8041

修正された最も単純なレンダラー

using App.Mobile.iOS.CustomRenderers;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[Assembly: ExportRenderer(typeof(SearchBar), typeof(FixedSearchBarRenderer))]
namespace App.Mobile.iOS.CustomRenderers
{
    public class FixedSearchBarRenderer : SearchBarRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
        {
            base.OnElementChanged(e);

            if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0) && Control != null)
            {
                Control.SearchTextField.BackgroundColor = UIColor.FromRGB(255, 255, 255);
            }
        }
    }
}
0
Pavlo Datsiuk