我想在UISearchbar内部添加一个按钮(栏),并在UISearchbar外部再添加一个按钮,如图所示。非常感谢您的帮助。
提前致谢, Naveen
我想在UISearchbar内部添加一个按钮(栏),并在UISearchbar外部再添加一个按钮,如图所示。非常感谢您的帮助。
提前致谢, Naveen
如评论中@NicolasMiari所述:
iOS 7版本之后此方法已无效,因为书签按钮被呈现在搜索栏的输入框内部。
对于搜索栏内的按钮,你可以使用书签按钮并更改其图像。只需在故事板(如果您使用)中选择搜索栏,并激活“显示书签按钮”选项。然后,在您的代码中,设置您想要的图像:
[_searchBar setImage:[UIImage imageNamed:@"My-Custom-Image"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
您可以使用以下委托方法来检测对此按钮的点击:
- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {
NSLog(@"click");
}
Swift 4
class ViewController: UIViewController {
var searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
searchController.delegate = self
searchController.searchBar.delegate = self
searchController.searchBar.showsBookmarkButton = true
searchController.searchBar.setImage(UIImage(named: "myImage"), for: .bookmark, state: .normal)
}
}
extension ViewController: UISearchBarDelegate {
func searchBarBookmarkButtonClicked(_ searchBar: UISearchBar) {
print("click")
}
}
[self.searchDisplayController.searchBar setImage:[UIImage imageNamed:@"customImage.png"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
[self.searchDisplayController.searchBar setPositionAdjustment:UIOffsetMake(-10, 0) forSearchBarIcon:UISearchBarIconBookmark];
searchBar.setImage(UIImage(named: "myImage"), for: UISearchBarIcon.bookmark, state: .normal)
。 - heyfrank