static Cell与UISearchDisplayContorller的混用

码途拓荒使
• 阅读 2640

今天项目中遇到一种情况,类似微信添加好友的界面交互,添加好友界面有三个固定项,点击第一个之后出现搜索界面。根据经验,首先是添加应该静态单元格视图,然后点击第一个单元格之后,创建 UISearchDisplayController。但是在实际操作中遇到了问题。
1 UISearchDisplayController内部有一个TableView,需要在当前ViewController实现代理方法,但是一旦实现,静态单元格也会调用该方法。于是我推断UISearchDisplayController内部应该做了 if([tableView.deleage responseToSelector:@selector(xxx)])判断,如果实现了就会调用代理方法对dataSource进行赋值,如果没有实现,则从storyboard文件中读取静态单元格数据进行赋值。这就会出现冲突,因为一旦实现了UISearchBarController的UITableView代理方法,则静态单元格就会失效。于是问题来了,如何解决?
1 放弃使用静态单元格,都用动态单元格,然后在代理方法里进行判断。
2 仍然使用静态单元格,但是把两个tableview隔离到不同的viewcontroller,我们可以在当前ViewController里添加containerView,指向另外一个UITableViewController,在另外这个TableViewController里添加静态单元格。
这里还要注意一点,如果用静态单元格,必须用UITableViewController。否则会报如下错误:'[<ViewController 0x14d81b40> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key staticDataSource.'

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
4年前
GoJS API学习
varnode{};node"key""节点Key";node"loc""00";//节点坐标node"text""节点名称";//添加节点通过按钮点击,添加新的节点到画布myDiagram.model.addNodeData(nod
Wesley13 Wesley13
4年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
4年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
4年前
ELK学习笔记之配置logstash消费kafka多个topic并分别生成索引
0x00 filebeat配置多个topicfilebeat.prospectors:input_type:logencoding:GB2312fields_under_root:truefields:添加字段
Wesley13 Wesley13
4年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Easter79 Easter79
4年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
鸿蒙小林 鸿蒙小林
8个月前
《仿盒马》app开发技术分享-- 订单详情页(32)
技术栈Appgalleryconnect开发准备在之前的章节中我们实现了订单的提交,以及提交之后跳转到确认订单页面,在确认订单页面我们添加了一个入口,这个入口是查询订单,当我们点击入口时,我们需要跳转到一个新的界面,这个界面通过接收上个界面的订单id或者订
码途拓荒使
码途拓荒使
Lv1
塞花飘客泪,边柳挂乡愁。
文章
4
粉丝
0
获赞
0