I have searched the similar question UISearchController iOS 11 customizationbut al the methods in the comments couldn't help me out.So I want to ask it again.
I used the following codes to set the appearance of the searchBar.
Extension the UISearchBr to get the textField and placeHolderLabel:
extension UISearchBar{
    var textField: UITextField?{
        if let textField = self.value(forKey: "searchField") as? UITextField {
           return textField
        }
        return nil
    }
    var placehloderLabel:UILabel?{
        if let placeholderLabel = textField?.value(forKey: "placeholderLabel") as? UILabel{
            return placeholderLabel
    }
        return nil
    }
}
Customize a subclass of UISearchController:
class CustomSearchController:UISearchController{
    override init(searchResultsController: UIViewController?) {
        super.init(searchResultsController: searchResultsController)
        self.definesPresentationContext = true
        self.dimsBackgroundDuringPresentation = false
        self.hidesNavigationBarDuringPresentation = true
        self.searchBar.searchBarStyle = .minimal
        self.searchBar.placeholder = "搜索歌单内歌曲"
        self.searchBar.textField?.textColor = UIColor.white
        self.searchBar.placehloderLabel?.textColor = .white
        self.searchBar.placehloderLabel?.font = UIFont.systemFont(ofSize: 15)
    }
Set prefersLargeTitles    UINavigationBar.appearance().prefersLargeTitles = true
If  navigationItem.searchController = searchController and the result is as follows (the appearance of the searchBar DOESN'T make change):

But if I set navigationItem.titleView = searchController.searchBar,it makes:

Does the iOS 11 permit developers to change the searchBar's appearance?If yes,I wonder how to customize it ?Any point is appreciated.Thanks!
