Чтобы обновить фон UISearchController, нужно изменить фоновое изображение.
Если вы видите UISearchController в визуальном отладчике, вы можете узнать, что его фон - UIImageView:

Так что вы должны сделать маленькийизображение панели поиска и установите его на seachBar следующим образом:
lazy var searchController: UISearchController = {
let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.placeholder = "Search"
searchController.searchBar.tintColor = UIColor.black
searchController.searchBar.searchBarStyle = .minimal
// Set background image to searchBar so it will resize
searchController.searchBar.setSearchFieldBackgroundImage(UIImage(named: "oval_static"), for: .normal)
definesPresentationContext = true
return searchController
}()
Изображение searchBar (в проекте я рекомендую использовать формат изображения .pdf или .png, просто скриншот):
UISearchBar изменит его по мере необходимости, и в результате:

Более тогомы можем сделать что-то вроде этого, чтобы создать собственный фон только в коде:
/// Just random extension to make image from UIView, you can use your own
extension UIView {
func asImage() -> UIImage {
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image { rendererContext in
layer.render(in: rendererContext.cgContext)
}
}}
lazy var searchController: UISearchController = {
let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.placeholder = "Search"
searchController.searchBar.tintColor = UIColor.black
searchController.searchBar.searchBarStyle = .minimal
// Create own view with custom properties
// Default height is 36 points
let differentColorSearchBar = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: 36))
differentColorSearchBar.layer.cornerRadius = 8
differentColorSearchBar.clipsToBounds = true
differentColorSearchBar.backgroundColor = UIColor.blue
searchController.searchBar.setSearchFieldBackgroundImage(differentColorSearchBar.asImage(), for: .normal)
definesPresentationContext = true
return searchController
}
Результатом является (конечно, вы можете изменить другие свойства searchBar, чтобы сделать его лучше, но я просто покажу вам, как правильно изменить фон):
Я рекомендую избегать частных владений, просто используйте open!Надеюсь, это поможет.