如何用Swift在NavigationBar上放一个SearchBar呢?

我开始在百度上搜关键字navigationcontroller searchbar,出来很多oc的解决方法,但是我用的是swift啊!

接着我又增加了一个关键字Swfit,出来的方法跟我在后来stackoverflow里看到的一模一样,有些就是直接翻译的,基本就是这样的解决方法:

1、首先来个搜索框searchbar先,可以如下用代码弄一个searchbar:

lazy var searchBar:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 20))

也可以直接拖一个控件进来,就可以忽略上面一句了;

2、在viewDidLoad里加上这些,当然也可以写在一个方法里,反正最后能执行到就行了:

var leftNavBarButton = UIBarButtonItem(customView:searchBar)
self.navigationItem.leftBarButtonItem = leftNavBarButton

到这里为止,我在网上找的方法都到这里为止了,然而并没有解决我的问题(嚎啕大哭状)。

如果你和我一样,到这里为止仍未解决问题,那你可以试试移动一下searchbar在整个view里的结构位置!这个方法是我自己瞎摸出来的!建立在上面的代码之上哟!

一般情况下,拉一个searchbar出来之后,storyboard旁边都会这样:

屏幕快照 2016-07-16 下午4.42.19

然后searchbar在storyboard里会这样:

屏幕快照 2016-07-16 下午4.43.59

无论怎么移动searchbar,它要么被挡住大部分,要么一点击就消失,甚至干脆消失风雨中,我的天啊,反正状况百出。

然后我死马当活马医,把它在结构里的位置移来移去,当它在以下结构的时候:

屏幕快照 2016-07-16 下午4.44.14

它变成了这个样子!

屏幕快照 2016-07-16 下午4.44.52

奇迹就出现了!

屏幕快照 2016-07-16 下午4.53.40当当当当!

全文结束!谢谢观看!