如何使用Swift淘宝导航栏添加搜索框Table View搜索框

新人求助 导航栏与搜索框重叠【swift吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:35,046贴子:
新人求助 导航栏与搜索框重叠收藏
点击跳转之后导航栏是写在tableHeaderView里面的是因为这样写不妥还是怎么样的 真心想弄懂 麻烦会的解惑一下谢谢
达内达内swift 编程培训「中国高端IT培训」,15年7万名企内部就业通道,40万学员实力见证!达内19大课程体系:Java/Web/H5/安卓/iOS/测试/C++/ARM/Linux/PHP/UI设计/会计/营..
起床顶一下 求助求助
你想要的是那种样式?是搜索框在导航栏上面。还是在tbview的headerview上面?没看懂你想问什么?
已经找到解决方法了
别以为分手后去你空间或微博看了两眼就以为人家还忘不了你,还在乎你。网友说的:上完厕所还得回头看一眼马桶呢。
登录百度帐号推荐应用主题 : UISearchBar 不是设置为TableView的HeardView点击搜索后,SearchBar不会自动上移
级别: 精灵王
UID: 481670
发帖: 1001
可可豆: 1532 CB
威望: 1393 点
在线时间: 671(时)
发自: Web Page
来源于&&分类
UISearchBar 不是设置为TableView的HeardView点击搜索后,SearchBar不会自动上移&&&
如代买://tableview self.specialAttentionTableView = [[BATableView alloc] initWithFrame:CGRectMake(0, 64 + searchBarH, self.view.frame.size.width, self.view.frame.size.height - 50)];&&&&self.automaticallyAdjustsScrollViewInsets = NO;&&&&self.specialAttentionTableView.delegate =&&&&[self.view addSubview:self.specialAttentionTableView];//创建搜索框 搜索框不随着tableview的滚动滚动,类似系统的通讯录&&&&_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 64, self.view.frame.size.width, searchBarH)];&&&&_searchBar.placeholder = @&请输入关键字&;&&&&_searchBar.delegate =&&&&&&&&[self.view addSubview:_searchBar];//创建搜索面板&&&&_searchDisplayController = [[UISearchDisplayController alloc]initWithSearchBar:_searchBar contentsController:self];&&&&_searchDisplayController.searchResultsDataSource =&&&&_searchDisplayController.searchResultsDelegate =然后点击搜索框 搜索框不上弹如果将搜索框设置为tableview的heardview就可以自动上弹
描述:搜索框位于导航栏下
图片:屏幕快照
上午10.19.15.png
描述:搜索框不随tableview滑动滑动,一直位于导航栏下
图片:屏幕快照
上午10.19.27.png
描述:点击搜索框,弹出UISearchDisplayController,但是搜索框不上弹
图片:屏幕快照
上午10.19.34.png
描述:想要这种效果
图片:屏幕快照
上午10.26.59.png
程序猿,永不为奴!🐒🐒🐒🐒🐒
级别: 精灵王
UID: 481670
发帖: 1001
可可豆: 1532 CB
威望: 1393 点
在线时间: 671(时)
发自: Web Page
自己顶吧,是不是UISearchDisplayController需要重绘,或者,searcher就是要和tableview联系上?
程序猿,永不为奴!🐒🐒🐒🐒🐒
级别: 新手上路
可可豆: 53 CB
威望: 43 点
在线时间: 525(时)
发自: Web Page
我记得这个要和UITableViewController一起用
级别: 精灵王
UID: 481670
发帖: 1001
可可豆: 1532 CB
威望: 1393 点
在线时间: 671(时)
发自: Web Page
回 2楼(captain_lee) 的帖子
果然是searcher必须在tableview上用嘛,系统的通讯录是怎么实现的,系统的看起啦searcher和tableview是分离的
程序猿,永不为奴!🐒🐒🐒🐒🐒
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 274(时)
发自: Web Page
楼主解决了吗, 求解答
级别: 精灵王
UID: 481670
发帖: 1001
可可豆: 1532 CB
威望: 1393 点
在线时间: 671(时)
发自: Web Page
回 4楼(kpyue) 的帖子
没,最后放弃用searchbar了,用的textfiled自定义可searchbar
程序猿,永不为奴!🐒🐒🐒🐒🐒
级别: 新手上路
UID: 453914
可可豆: 28 CB
威望: 24 点
在线时间: 60(时)
发自: Web Page
self.tableView.tableHeaderView = searchBar
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
喜欢编程的非IT界人。喜欢搞移动应用。IOS,Android,Phone7。
Product-猜数字
Android的,IOS已下架
还有其他一些demo程序。
懂点点的网站框架,小搞一下,后台设计做得相对较少。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
第一篇起学习了Swift的基本语法以及简单的控制流。&第二篇我们讲述了怎么利用简单控件做一个加法计算器。第三篇解释了protocol,delegate这些玩意怎么玩。那么这一期,是基于第三篇的一些知识来做的,结合最常用的的tableview来看怎么用protocol和delegate的。这次没有东西可以参考了,全靠自己摸索吧。FirstOfAll,使用window代替storyboard,添加NavigationController& File-&New-&Project,然后输入对应的项目名,选择SingleViewApplication。1.因为当时我是从iOS3.2的时候入门的,当时没有storyboard这东西,所以还是不习惯用storyboard。所以我还是使用回原来的Window的模式。打开项目设置,把MainInterface的内容删掉,如图:&2.然后打开AppDelegate.swift,在didFinishLaunchingWithOptions这个函数下面,增加生成window的内容:
& &window =& UIWindow(frame: UIScreen.mainScreen().bounds)
& & & & window?.backgroundColor = UIColor.redColor()
& & & & window?.makeKeyAndVisible()在这个时候,点击运行,就可以看到红色的一片,没错,这个就是你的Window了3.添加navagationController,再把我们的ViewController加到里面去。&
var root = ViewController()& & & & var naviRoot = UINavigationController(rootViewController: root)
& & & &&window?.rootViewController = naviRoot这样,就成功把Navigation加到window上面去了。第二步,做出我们的TableView TableView需要添加它的数据源、事件委托,即UITableViewDataSource,UITableViewDelegate,用来加载数据以及它的点击事件相应。Delegate函数可以点击control+鼠标左键进入Delegate的声明里面看到,这里就不详细说明了。 主要的是下面生成cell的关键代码:&//生成每一个cell& & func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -& UITableViewCell! {& & & & let identifier = "cell"& & & & var cell =& UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: identifier)&& & & && & & & cell.textLabel.text = list[indexPath.row]& & & & return cell& &&} & & 跑出来的效果就是下面这样子的: &那么下面,我们就为他加入点击事件,展示一个详细页出来吧。第三步,展示详细页信息& 新建一个DetailViewController.swift文件,继承UIViewController,在ViewDidload函数里面加入一个label,内容写着Detail,方便标示这个是DetailView。&然后再tableview的点击事件didSelectRowAtIndexPath这个函数里面,增加一个navigation push的动作,就可以实现点击按钮然后就展示detailview的信息了!效果如图:好了,本期就到这里吧!内容不是很多,不过简单整这个tableview出来就够了,后面再进阶学习研究一下。先学会这个东西怎么用,在想想为什么这样用,怎么会这样用,还可以怎么用。很多东西,只可意会不可言传呐呐呐呐呐呐呐。继续学习深造。本期的项目代码地址:提取码:kx98
阅读(2805)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_082',
blogTitle:'[Swift教程 part4]使用window+NavigationController+TableView',
blogAbstract:'Update:&前言:&第一篇起学习了Swift的基本语法以及简单的控制流。&第',
blogTag:'ios,程序猿之路,移动应用开发',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:8,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'喜欢编程的非IT界人。喜欢搞移动应用。IOS,Android,Phone7。\nProduct-猜数字\n/\nAndroid的,IOS已下架\n还有其他一些demo程序。\n懂点点的网站框架,小搞一下,后台设计做得相对较少。\',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}1,搜索条Options属性还可设置如下功能样式:
Shows Search Results Button:勾选后,搜索框右边显示一个圆形向下的按钮,单击会发送特殊事件。
Shows Bookmarks Button:勾选后,搜索框右边会显示一个书本的按钮,单击会发送特殊事件。
Shows Cancel Button:勾选后,搜索框右边会出现一个“Cancel”按钮,单击会发送特殊事件。
Shows Scope Bar:勾选后,会在搜索条下面出现一个分段控制器。
2,下面是一个搜索条的使用样例,功能如下:
(1)在Main.storyboard界面里拖入一个&Search Bar&和一个&Table View,Search Bar放到Table View的页眉位置
(2)初始化或者搜索条为空时,表格显示所有数据
(3)搜索条不为空时,表格实时过滤显示匹配的项目
&&& && && &
4,代码如下
import&UIKit
class&ViewController:&UIViewController,UISearchBarDelegate,
UITableViewDataSource,UITableViewDelegate&{
&&&&@IBOutlet&var&searchBar :&UISearchBar!
&&&&@IBOutlet&var&tableView :&UITableView!
&&&&var&ctrls:[String] = ["Label","Button1","Button2","Switch"]
&&&&var&ctrlsel:[String] = []
&&&&override&func&viewDidLoad() {
&&&&&&&&super.viewDidLoad()
&&&&&&&&self.ctrlsel =&self.ctrls
&&&&&&&&self.searchBar.delegate =&self
&&&&&&&&self.tableView.delegate =&self
&&&&&&&&self.tableView.dataSource =&self
&&&&&&&&self.tableView.registerClass(UITableViewCell.self,
&&&&&&&&&&&&forCellReuseIdentifier:&"SwiftCell")
&&&&func&tableView(tableView:&UITableView, numberOfRowsInSection section:&Int) -&&Int&{
&&&&&&&&return&self.ctrlsel.count
&&&&func&tableView(tableView:&UITableView, cellForRowAtIndexPath indexPath:&NSIndexPath)
&&&&&&&&-&&UITableViewCell
&&&&&&&&let&identify:String&=&"SwiftCell"
&&&&&&&&let&cell = tableView.dequeueReusableCellWithIdentifier(identify,
&&&&&&&&&&&&forIndexPath: indexPath)&as&UITableViewCell
&&&&&&&&cell.accessoryType =&UITableViewCellAccessoryType.DisclosureIndicator
&&&&&&&&cell.textLabel?.text =&self.ctrlsel[indexPath.row]
&&&&&&&&return&cell
&&&&func&searchBar(searchBar:&UISearchBar, textDidChange searchText:&String) {
&&&&&&&&print(searchText)
&&&&&&&&if&searchText ==&""&{
&&&&&&&&&&&&self.ctrlsel =&self.ctrls
&&&&&&&&else&{&
&&&&&&&&&&&&self.ctrlsel = []
&&&&&&&&&&&&for&ctrl&in&self.ctrls {
&&&&&&&&&&&&&&&&if&ctrl.lowercaseString.hasPrefix(searchText.lowercaseString) {
&&&&&&&&&&&&&&&&&&&&self.ctrlsel.append(ctrl)
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&self.tableView.reloadData()
&&&&override&func&didReceiveMemoryWarning() {
&&&&&&&&super.didReceiveMemoryWarning()
原文出自:&&转载请保留原文链接:
阅读(...) 评论()swift如何修复表视图搜索栏与状态栏重叠
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
我有 UITableViewController Navigation Controller,与一个搜索栏内。这是如何在 viewDidLoad 中添加搜索栏:
let resultsController = SearchTableViewController()
resultsController.people = people
searchController = UISearchController(searchResultsController: resultsController)
let searchBar = searchController.searchBar
searchBar.placeholder = "Search a person"
searchBar.sizeToFit()
tableView.tableHeaderView = searchBar
searchController.searchResultsUpdater = resultsController
这是的结果:
我试着编辑表视图中情节提要以添加约束,让它从顶视图的利润率,但无法添加约束,可能因为表视图是里面的 UITableViewController。
解决方法 1:
你想这段代码。
在你 viewDidLoad 方法添加此代码:
self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)
你的表将会像这样:
你可以强行滚动表与此代码:
tableView.scrollToRowAtIndexPath( NSIndexPath(index: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false)

我要回帖

更多关于 mui 导航添加搜索框 的文章

 

随机推荐