我一整天都在尝试,试图弄清楚如何让我的搜索栏在 iOS13 中显示与 iOS 12/11 中显示的相同
所以添加搜索栏的方式就是简单的新建一个UISearchController。
var searchController = new UISearchController(searchResultsController: null);
searchController.SearchBar.Placeholder = "Search";
searchController.SearchResultsUpdater = this;
searchController.HidesNavigationBarDuringPresentation = false;
searchController.DimsBackgroundDuringPresentation = false;
NavigationItem.SearchController = searchController;
NavigationItem.HidesSearchBarWhenScrolling = false;
iOS 11/12 上的结果:
iOS 13 上的结果:
在 iOS 13 上,我使用新的 UINavigationBarAppearance 代码,如下所示:
var appearance = new UINavigationBarAppearance();
appearance.ConfigureWithOpaqueBackground();
appearance.BackgroundColor = ColorPalette.TintColor;
appearance.TitleTextAttributes = new UIStringAttributes { ForegroundColor = UIColor.White };
NavigationItem.StandardAppearance = appearance;
在 iOS 11/12 上,我使用传统方式来实现它:
NavigationController.NavigationBar.BarStyle = UIBarStyle.Black;
NavigationController.NavigationBar.TintColor = UIColor.White;
NavigationController.NavigationBar.BarTintColor = ColorPalette.TintColor;
NavigationController.NavigationBar.Translucent = false;
我已经尝试了很多方法,但似乎无法让 UISearchBar 自行着色,就像 iOS11/12 如何实现它一样。
我知道新的 UISearchBar 现在可以访问 UITextField 并且我可以配置背景颜色等。