How to change UISearchBar Icon to custom image?

2019-06-16 15:14发布

问题:

Currently, I have the default magnifying glass as my search bar icon. However, I want to put a custom image in its place, particularly this image:

Custom Arrow Icon

How would I go about changing the search bar default icon to the custom image?

回答1:

you can use setImage function

 searchBar.setImage(UIImage(named: "your image"), forSearchBarIcon: .Search, state: .Normal)

Swift3

searchBar.setImage(UIImage(named: "Image Name"), for: .search, state: .normal)


回答2:

Way 1 :

As luiyezheng answer, You can change the image of UISearchBar iCon.

UISearchBar.appearance().setImage(UIImage(named: "new_search_icon"), forSearchBarIcon: UISearchBarIcon.Search, state: UIControlState.Normal)

Search Icon image Change

Way 2 :

you can change tint color of Search iCon of UISearchBar iCon.

let textFieldInsideSearchBar = searchBarCustom.valueForKey("searchField") as? UITextField
let imageV = textFieldInsideSearchBar?.leftView as! UIImageView
imageV.image = imageV.image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
imageV.tintColor = UIColor.purpleColor()

Output :

Search Icon image tint color change



回答3:

luiyezheng's answer works great. The Swift 3 version of it is:

searchBar.setImage(UIImage(named: "Image Name"), for: .search, state: .normal)