我的导航栏中有一个UiSearchbar。 SearchBar风格很小。我在iOS 8上,使用SearchController(没有SearchDisplayController)和Swift。
我想将占位符和图标颜色设置为白色。这可能吗?到目前为止我发现的所有内容似乎都已过时,或者作者不确定此代码是否会被Apple批准。
我想摆脱取消按钮,但是当我尝试这个时:
searchController.searchBar.showsCancelButton = false
在viewDidLoad中,取消按钮仍然显示。
我必须说,我正在以编程方式创建searchBar ..
答案 0 :(得分:6)
对于您的第一个问题,您可以访问UITextField
的{{1}}并修改占位符颜色:
UISearchbar
然后还要设置您必须访问var textfield:UITextField = searchBar.valueForKey("searchField") as UITextField
//Set the foregroundcolor of the placeholder
var attributedString = NSAttributedString(string: "your placeholdertext", attributes: [NSForegroundColorAttributeName : UIColor.whiteColor()])
textfield.attributedPlaceholder = attributedString
的{{1}}的玻璃颜色:
leftView
要隐藏UITextField
中的取消按钮,您可以使用//Get the glass icon
var iconView:UIImageView = textfield.leftView as UIImageView
//Make the icon to a template which you can edit
iconView.image = iconView.image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
//Set the color of the icon
iconView.tintColor = UIColor.whiteColor()
委托方法隐藏它。只需确保先添加UISearchbar
并将代理设置为搜索栏:
searchBarShouldBeginEditing