删除UISearchBar中的清除button

我想从UISearchBar中删除清除button(灰色x)。 我试图像这个答案中所描述的那样做 ,但它不起作用。

我将答案和下面的注释中的Objective-C代码翻译成以下Swift代码:

for subview in searchBar.subviews { configureSearchBarView(subview as UIView) } func configureSearchBarView(view: UIView) { for subview in view.subviews { self.configureSearchBarView(subview as UIView) } if subview.conformsToProtocol(UITextInputTraits) { var clearView = view as UITextField clearView.clearButtonMode = UITextFieldViewMode.Never } } 

不幸的是,这并没有删除清除button。

另外一个答案build议与appearanceWhenContainedIn一起工作,但是这个方法似乎并没有在Swift中实现。

有任何想法吗?

我find了解决scheme。 可以使用自定义图像交换清除button:

 UISearchBar.appearance().setImage(UIImage(named: "emptyImg"), forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Normal) UISearchBar.appearance().setImage(UIImage(named: "emptyImg"), forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Highlighted) 

emptyImg是一个包含一个白色像素的png。 在这个答案中find