Pat*_*ode 5 xamarin.ios xamarin xamarin.forms
似乎最新版本的iOS(13)忽略了搜索栏的背景色?
iOS 13对UISearchBar色调的更改,无法实现相同的结果
我正在使用它,并且可以在下面的所有版本上使用,但是在13上它会忽略背景颜色并使其变为白色
<SearchBar HeightRequest="35" BackgroundColor="#2A4880" TextColor="White"></SearchBar>
Run Code Online (Sandbox Code Playgroud)
这是一个已知的问题?有没有解决的办法?
您可以通过创建PlatformEffect来解决此问题:
应用程序.xaml.cs
[assembly: ResolutionGroupName("ProjectName")]
namespace ProjectName.App
{
public partial class App : Application
{
...
Run Code Online (Sandbox Code Playgroud)
共享项目:
public class SearchBarBackgroundEffect : RoutingEffect
{
public SearchBarBackgroundEffect() : base("ProjectName.SearchBarBackgroundEffect") { }
}
Run Code Online (Sandbox Code Playgroud)
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.
}
}
Run Code Online (Sandbox Code Playgroud)
XAML 文件
<SearchBar>
<SearchBar.Effects>
<effects:SearchBarBackgroundEffect />
</SearchBar.Effects>
</SearchBar>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |