Я экспериментировал весь день и пытался выяснить, как заставить мой UISearchBar отображаться в iOS13 так же, как в iOS12 / 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 иЯ могу настроить цвет фона и т. Д.