我尝试在我当前的应用中自定义UISearchBar
但没有取得多大成功。我想要做的是:
然而最终的结果是:
您在第二张图片中看到我仍然有原始搜索图标。我一直无法找到一种方法将它们全部删除。我认为设置自定义背景图像可以解决它,但显然不是。
编辑:提到的建议的重复问题并没有解决问题。非提供的代码可用于删除图标。
编辑2:
这是我添加背景图片的方式,其中包含左侧的橙色图标
[self.searchBar setSearchFieldBackgroundImage:[UIImage imageNamed:@"search_bar"] forState:UIControlStateNormal];
答案 0 :(得分:1)
尽管答案存在HERE,但它不适用于iOS> = 7.x.以下将:
for (UIView *subView in self.searchedBar.subviews) {
for (UIView *subView2 in subView.subviews) {
if ([NSStringFromClass([subView2 class]) isEqualToString:@"UISearchBarTextField"]) {
UITextField *searchField = (UITextField *)subView2;
searchField.leftViewMode = UITextFieldViewModeNever;
}
}
}
答案 1 :(得分:1)
以下适用于iOS 8 +:
[mySearchBar setImage:[UIImage imageNamed:@"SearchBarIcon"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];