在iOS13中,可以通过以下步骤结合SearchController来更改导航控制器的Backbutton-tintColor:
let searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
UINavigationBarAppearance
类来自定义导航栏的外观。if #available(iOS 13.0, *) {
let appearance = UINavigationBarAppearance()
appearance.configureWithDefaultBackground()
appearance.buttonAppearance.normal.tintColor = UIColor.red // 设置Backbutton的颜色
navigationItem.standardAppearance = appearance
navigationItem.scrollEdgeAppearance = appearance
} else {
// Fallback on earlier versions
navigationController?.navigationBar.tintColor = UIColor.red // 设置Backbutton的颜色
}
obscuresBackgroundDuringPresentation
属性为false,以确保搜索控制器不会覆盖导航栏。searchController.obscuresBackgroundDuringPresentation = false
这样,当用户点击搜索栏时,导航栏的Backbutton颜色将会更改为指定的颜色。
推荐的腾讯云相关产品:无
请注意,以上答案仅适用于iOS13及更高版本。如果需要兼容较旧的iOS版本,请进行相应的版本检查和处理。
领取专属 10元无门槛券
手把手带您无忧上云