蓝懿iOS培训日志19 SearchBarController
2015-09-24 19:24
429 查看
搜索功能 比较偏的一个点:
相当于用一个数据源数组显示了两个tableView
理解点:
两个tableView用到了同一个协议方法 需要区分开两种情况
一个是用sb创建出来的 一个用代码创建出来的
需要设置一下显示结果的tableView 不然会崩
显示结果的tableView的代码直接复用了当前tv
但其实是一共两个tv
在tv中判断一下是显示全部还是显示结果
![](webkit-fake-url://C9FBCBB9-E0C9-4F3C-B03F-BB5F92DA25ED/Pasted%20Graphic%201.tiff)
然后添加 <UISearchDisplayDelegate> (display显示)
找到方法shouldReloadTableForSearchString
![](webkit-fake-url://C9FBCBB9-E0C9-4F3C-B03F-BB5F92DA25ED/Pasted%20Graphic%202.tiff)
里面要放的内容如下代码
![](webkit-fake-url://C9FBCBB9-E0C9-4F3C-B03F-BB5F92DA25ED/Pasted%20Graphic%203.tiff)
然后还需要添加<UISearchBarDelegate>拿到一个取消按钮的方法 如图
![](webkit-fake-url://C9FBCBB9-E0C9-4F3C-B03F-BB5F92DA25ED/Pasted%20Graphic%204.tiff)
在方法里要做的事是 重新把数据源定义成全部城市 因为取消后要显示全部城市
![](webkit-fake-url://C9FBCBB9-E0C9-4F3C-B03F-BB5F92DA25ED/Pasted%20Graphic%206.tiff)
相当于用一个数据源数组显示了两个tableView
理解点:
两个tableView用到了同一个协议方法 需要区分开两种情况
一个是用sb创建出来的 一个用代码创建出来的
需要设置一下显示结果的tableView 不然会崩
显示结果的tableView的代码直接复用了当前tv
但其实是一共两个tv
在tv中判断一下是显示全部还是显示结果
然后添加 <UISearchDisplayDelegate> (display显示)
找到方法shouldReloadTableForSearchString
里面要放的内容如下代码
然后还需要添加<UISearchBarDelegate>拿到一个取消按钮的方法 如图
在方法里要做的事是 重新把数据源定义成全部城市 因为取消后要显示全部城市
相关文章推荐
- 【读书笔记】iOS-NSDate
- 【读书笔记】iOS-NSDate
- iOS Xcode重要配置
- iOS开发1-Hello World
- nagios4.1.1 服务端及监控端部署(一)
- iOS AutoLayout自动布局中级开发教程(4)-label等文字自动适应大小,宽度
- iOS中GCD的相关问题
- IOS开发调用系统相机和打开闪光灯
- IOS Masonry自动布局
- OC属性中setter和getter的实现
- ios机器上,应用列表的获得
- IOS NSBundle
- ios时间时区处理
- NSPredicate
- 读IOS进阶笔记。
- IOS中数据的存储方式总结 (待续。。。。。)
- iOS字体
- [IOS]本地通知
- 关于iOS中几种延时方式
- iOS 编程之 使用 Xcode6配置.pch文件