Xamarin Forms Searchbar iOS 13 忽略背景颜色

标签 xamarin xamarin.forms xamarin.ios

似乎最新版本的 iOS (13) 忽略了搜索栏背景颜色?

iOS 13 Changes to UISearchBar tint's, can't achieve the same outcome

我正在使用它,它适用于以下所有版本,但在 13 上它会忽略背景颜色并使其变为白色

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

这是一个已知的问题?有解决办法吗?

最佳答案

您可以通过创建 PlatformEffect 来解决这个问题。 :

App.xaml.cs

[assembly: ResolutionGroupName("ProjectName")]
namespace ProjectName.App
{
    public partial class App : Application
    {
        ...

共享项目:
public class SearchBarBackgroundEffect : RoutingEffect
    {
        public SearchBarBackgroundEffect() : base("ProjectName.SearchBarBackgroundEffect") { }
    }

iOS项目:

[assembly: ExportEffect(typeof(SearchBarBackgroundPlatformEffect), "SearchBarBackgroundEffect")]
 public class SearchBarBackgroundPlatformEffect : PlatformEffect
    {
        private UISearchBar NativeSearchBar => (UISearchBar)Control;
        private SearchBar XamarinSearchBar => (SearchBar)Element;

        protected override void OnAttached()
        {
            if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
                NativeSearchBar.SearchTextField.BackgroundColor = XamarinSearchBar.BackgroundColor.ToUIColor();
        }

        protected override void OnDetached()
        {
             // Intentionally left blank.
        }
    }

XAML 文件
 <SearchBar>
                <SearchBar.Effects>
                    <effects:SearchBarBackgroundEffect />
                </SearchBar.Effects>
            </SearchBar>

关于Xamarin Forms Searchbar iOS 13 忽略背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58277385/

相关文章:

Android - 获取对 Manifest 中定义的 BroadcastReceiver 的引用

c# - 使用读取和写入流保存文件时图像损坏

xamarin - 如何将 Xamarin.Forms 更新到最新版本?

macos - 将 Xamarin.Forms macOS 项目添加到电脑上的解决方案

ios - 重叠的 Fade UICollectionViewCells 会出错

ios - 引用 dns_sd.h 中的 DNSSDObjects 和 MonoTouch 中的 DNSServiceResolve

xamarin - 下载并保存 PDF 以供查看

c# - 使用 sqlite-net + async 时设置 Sqlite ThreadingMode

xamarin - 条目绑定(bind)到 int?以 Xamarin 形式

c# - CGPDFDocument 和 CGPDFPage 的 MonoTouch CoreGraphics PDF 内存问题