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

本文介绍了如何在Swift中解决在NavigationBar上放置SearchBar的问题。通过创建SearchBar,调整其在视图层级中的位置,最终成功实现在导航栏内显示搜索框。详细步骤包括代码实现和Storyboard操作,适合遇到相同问题的Swift开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何用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旁边都会这样: 屏幕快照 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当当当当! 全文结束!谢谢观看!

查看原文:http://terrylovesolar.com/searchbar-in-navigationbar/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值