簡體   English   中英

如何將 UISearchBar 圖標更改為自定義圖像?

[英]How to change UISearchBar Icon to custom image?

目前,我有默認的放大鏡作為我的搜索欄圖標。 但是,我想在它的位置放置一個自定義圖像,特別是這個圖像:

自定義箭頭圖標

截屏

我 go 如何將搜索欄默認圖標更改為自定義圖像?

方式1:

作為luiyezheng的回答,你可以改變UISearchBar iCon的形象。

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

搜索圖標圖像更改

屏幕截圖

方式2:

你可以改變UISearchBar iCon的搜索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()

輸出:

搜索圖標圖像色調顏色變化

屏幕截圖

你可以使用setImage函數

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

Swift3

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

lyeyezheng的回答非常好。 它的Swift 3版本是:

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

Swift 5 , iOS 13+

這很簡單,從 iOS 開始 13 UISearchBar有一個.searchTextField屬性,我們可能想以某種方式進行調整。

只需將圖像視圖設置為其.leftView屬性,並在需要時應用所需的色調。

let image = UIImage(systemName: "location")
searchBar.searchTextField.leftView = UIImageView(image: image)
searchBar.searchTextField.leftView?.tintColor = .purple

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM