如何在searchcontroller中更改uitextfield颜色?

Ame*_*mey 3 uinavigationcontroller ios swift uisearchcontroller ios11

在此处输入图片说明

我已经在导航栏中嵌入了SearchController。如何更改UITextField的颜色将搜索字符串保留为White的颜色?

Kru*_*nal 5

这将帮助您实现所需的目标。只需在此代码中应用颜色组合即可查看。

if #available(iOS 11.0, *) {
            let sc = UISearchController(searchResultsController: nil)
            sc.delegate = self
            let scb = sc.searchBar
            scb.tintColor = UIColor.white
            scb.barTintColor = UIColor.white


            if let textfield = scb.value(forKey: "searchField") as? UITextField {
                //textfield.textColor = // Set text color
                if let backgroundview = textfield.subviews.first {

                    // Background color
                    backgroundview.backgroundColor = UIColor.white

                    // Rounded corner
                    backgroundview.layer.cornerRadius = 10;
                    backgroundview.clipsToBounds = true;

                }
            }

            if let navigationbar = self.navigationController?.navigationBar {
                navigationbar.barTintColor = UIColor.blue
            }
            navigationItem.searchController = sc
            navigationItem.hidesSearchBarWhenScrolling = false

}
Run Code Online (Sandbox Code Playgroud)

结果:

在此处输入图片说明