Swift - UIToolbar 中的 UISearchBar

Swift - UISearchBar in UIToolbar

如何在 Swift 的工具栏内创建 UISearchBar?如果我使用 Interface Builder,我会收到以下错误:

error: Illegal Configuration: UISearchBar embedded in UIBarButtonItems (Only available in iPad documents)

这个问题有 Swift 解决方案吗?工具栏将仅在 iPad.

上可用

UIToolBar 只是一个自定义的 UIView,所以您有三个选项(我可以看到)用于您的实现:

首先,如果您想将搜索栏固定在工具栏中,请使用以下代码:

var searchBar = UISearchBar(frame: CGRectMake(0, 0, 100, 50))
var myView = UIView(frame: searchBar.frame)
myView.addSubview(searchBar)
var barButtonItem = [UIBarButtonItem(customView: myView)]
toolBar.setItems(barButtonItem, animated: false)

其次,如果您想要屏幕导航栏中的搜索栏,您可以执行以下操作:

let searchBar = UISearchBar(frame: CGRectMake(0, 0, 300, 50)) 
navigationController?.navigationBar.addSubview(searchBar)

第三,如果您需要将工具栏放在其他地方,您可以创建自己的自定义 UIView,它看起来像一个工具栏(跨越屏幕的宽度)并向其添加搜索栏。您甚至可以将自己的这个新工具栏自定义 class,以便在整个程序中重复使用。

干杯!