您的位置:首页 > 移动开发 > Swift

用Swift在导航栏上“镶嵌”一个搜索框

2016-07-16 16:57 423 查看
如何用Swift在NavigationBar上放一个SearchBar呢?

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

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

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

[code lang="swift"]
lazy var searchBar:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 20))

[/code]

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

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

[code lang="swift"]
var leftNavBarButton = UIBarButtonItem(customView:searchBar)
self.navigationItem.leftBarButtonItem = leftNavBarButton

[/code]

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

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

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



然后searchbar在storyboard里会这样:



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

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



它变成了这个样子!



奇迹就出现了!


当当当当!

全文结束!谢谢观看!

查看原文:http://terrylovesolar.com/searchbar-in-navigationbar/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: