Wil*_*mer 37 uisearchbar ios ios8 uisearchcontroller
我想在iOS 8中的UISearchBar中的"取消"按钮的"取消"中更改文本.我正在使用UISearchController.我尝试过iOS 6和iOS 7的不同方法,但它们不起作用.有人这样做过吗?
Bur*_*ala 85
Objective-C的:
[searchBar setValue:@"customString" forKey:@"_cancelButtonText"];
Run Code Online (Sandbox Code Playgroud)
迅速:
searchBar.setValue("customString", forKey:"_cancelButtonText")
Run Code Online (Sandbox Code Playgroud)
pol*_*987 25
这在ios8中对我有用,没有在ios7中尝试,但是应该这样做,小心在应用周期的早期放置这一行(例如:appDelegate)
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitle:@"Annuler"];
Run Code Online (Sandbox Code Playgroud)
从ios9开始,你也可以使用
[[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]] setTitle:@"Annuler"];
Run Code Online (Sandbox Code Playgroud)
Swift版本:
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).title = "Annuler"
Run Code Online (Sandbox Code Playgroud)
希望有所帮助;)
Wil*_*mer 16
找到了!.在iOS 8中,取消按钮位于"cancelButton"键下.我使用UISearchBar委托searchBarTextDidBeginEditing进行更改.
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
let uiButton = searchBar.valueForKey("cancelButton") as UIButton
uiButton.setTitle("Done", forState: UIControlState.Normal)
}
Run Code Online (Sandbox Code Playgroud)
May*_*sam 13
Swift 3.0:
在你的AppDelegate中添加:
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).title = "my text"
Run Code Online (Sandbox Code Playgroud)
Don*_*nal 10
for view in (UISearchBar.subviews[0]).subviews{
if let button = view as? UIButton{
button.setTitleColor(UIColor.whiteColor(), forState: .Normal)
button.setTitle("Cancel", forState:.Normal)
}
}
Run Code Online (Sandbox Code Playgroud)
self.subviews [0]).子视图包含UISearchBarBackground,UISearchBarTextField,UINavigationButto n,其中UINavigationButton是UIButton.Check的子类,用于View作为UIButton,如果是,则更改UIButton的属性.
小智 8
对于 iOS 13 支持:
迅速:
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).title = "Whatever"
Run Code Online (Sandbox Code Playgroud)
目标 C:
[[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:[NSArray arrayWithObject:[UISearchBar class]]] setTitle:@"Whatever"]
Run Code Online (Sandbox Code Playgroud)
在Swift中:
searchBar.setValue("customString", forKey: "_cancelButtonText")
Run Code Online (Sandbox Code Playgroud)
基于Burhanuddin Sunelwala的回答.
我无法在UISearchController中为UISearchBar工作.第一次显示取消按钮时,文本没有改变,但第二次显示.
直到我看到@ polo987的答案.这就是我所做的工作:
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self]).title = "Done"
Run Code Online (Sandbox Code Playgroud)
在Swift4中
更改标题:
(searchBar.value(forKey: "cancelButton") as! UIButton).setTitle("Done", for: .normal)
换颜色:
(searchBar.value(forKey: "cancelButton") as! UIButton).setTitleColor(UIColor.blue, for: .normal)
| 归档时间: |
|
| 查看次数: |
25750 次 |
| 最近记录: |