在iOS 8上使用swift设置占位符文本颜色/隐藏取消按钮

时间:2015-02-14 11:17:59

标签: ios swift uisearchbar uisearchcontroller

我的导航栏中有一个UiSearchbar。 SearchBar风格很小。我在iOS 8上,使用SearchController(没有SearchDisplayController)和Swift。

  1. 我想将占位符和图标颜色设置为白色。这可能吗?到目前为止我发现的所有内容似乎都已过时,或者作者不确定此代码是否会被Apple批准。

  2. 我想摆脱取消按钮,但是当我尝试这个时: searchController.searchBar.showsCancelButton = false 在viewDidLoad中,取消按钮仍然显示。

  3. 我必须说,我正在以编程方式创建searchBar ..

1 个答案:

答案 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