我們使用搜索欄(UISearchBar)時,如果將其設置為“Shows Cancel Button”後,輸入框右側會有個取消按鈕(標題文字是Cancel)。
有時我們想要將這個按鈕修改成其他文字,比如“搜索”。雖然 searchBar 不提供直接修改這個按鈕文字的方法或屬性,但我們可以換種方式來實現。
1,修改searchBar取消按鈕的文字
先獲取到 searchBar 中的取消按鈕,再設置這個按鈕的 title 即可。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var searchBar: UISearchBar!
override func viewDidLoad() {
super.viewDidLoad()
let uiButton = searchBar.valueForKey("cancelButton") as! UIButton
uiButton.setTitle("搜索", forState: UIControlState.Normal)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
2,修改searchBar取消按鈕的文字顏色
同樣先獲取到 searchBar 中的取消按鈕,再設置這個按鈕的 titleColor 即可。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var searchBar: UISearchBar!
override func viewDidLoad() {
super.viewDidLoad()
let uiButton = searchBar.valueForKey("cancelButton") as! UIButton
uiButton.setTitle("搜索", forState: UIControlState.Normal)
uiButton.setTitleColor(UIColor.orangeColor(),forState: .Normal)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}