【发布时间】:2014-04-09 14:22:13
【问题描述】:
我想在 UISearchbar 内添加一个按钮(栏),在 UISearchbar 外添加一个按钮(栏),如图所示。对此的任何帮助表示赞赏。
提前致谢 纳文
【问题讨论】:
标签: ios uisearchbar uisearchdisplaycontroller
我想在 UISearchbar 内添加一个按钮(栏),在 UISearchbar 外添加一个按钮(栏),如图所示。对此的任何帮助表示赞赏。
提前致谢 纳文
【问题讨论】:
标签: ios uisearchbar uisearchdisplaycontroller
正如@NicolasMiari 在 cmets 中所说:
这在 iOS 7 之后不再适用,因为书签按钮呈现在栏的输入文本字段内。
对于搜索栏中的按钮,您可以使用书签按钮并更改其图像。您只需转到情节提要(如果您使用情节提要),选择搜索栏,然后激活“显示书签按钮”选项。然后,在您的代码中,设置您想要的图像:
[_searchBar setImage:[UIImage imageNamed:@"My-Custom-Image"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
您可以使用以下委托方法检测对该按钮的点击:
- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {
NSLog(@"click");
}
【讨论】:
searchBar.setImage(UIImage(named: "myImage"), for: UISearchBarIcon.bookmark, state: .normal)
斯威夫特 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")
}
}
【讨论】:
在 UISearchBar 中添加按钮的最快方法是像这样更新书签按钮:
[self.searchDisplayController.searchBar setImage:[UIImage imageNamed:@"customImage.png"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
如果需要调整偏移量,
[self.searchDisplayController.searchBar setPositionAdjustment:UIOffsetMake(-10, 0) forSearchBarIcon:UISearchBarIconBookmark];
不要忘记激活故事板中的“显示书签按钮”选项。
【讨论】: