在UISearchBar中添加按钮

Nav*_*nga 4 uisearchbar uisearchdisplaycontroller ios

在此输入图像描述

我想在UISearchbar中添加一个按钮(bar),在UISearchbar外面添加另一个按钮(bar),如图所示.对此有任何帮助表示赞赏.

在此先感谢Naveen

rdu*_*and 19

编辑:

正如@NicolasMiari在评论中所述:

这不再适用于iOS 7后,因为书签按钮会在条形图的输入文本字段中呈现.


对于搜索栏内的按钮,您可以使用书签按钮并更改其图像.您只需转到故事板(如果使用的话),选择搜索栏,然后激活"显示书签按钮"选项.然后,在您的代码中,设置您想要的图像:

[_searchBar setImage:[UIImage imageNamed:@"My-Custom-Image"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

您可以使用以下委托方法检测此按钮上的单击:

- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {

    NSLog(@"click");
}
Run Code Online (Sandbox Code Playgroud)

  • 这不再适用于iOS 7之后,因为书签按钮在**栏的输入文本字段内呈现**. (5认同)

Str*_*lar 14

斯威夫特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")
   }

}
Run Code Online (Sandbox Code Playgroud)


sup*_*rm0 5

在 UISearchBar 中添加按钮的最快方法是像这样更新书签按钮:

[self.searchDisplayController.searchBar setImage:[UIImage imageNamed:@"customImage.png"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

如果需要调整偏移量,

[self.searchDisplayController.searchBar setPositionAdjustment:UIOffsetMake(-10, 0) forSearchBarIcon:UISearchBarIconBookmark];
Run Code Online (Sandbox Code Playgroud)

不要忘记激活故事板中的“显示书签按钮”选项。