美文网首页iOS基础iOS开发iOS Developer
iOS UI篇 - tableView隐藏某一行的cell

iOS UI篇 - tableView隐藏某一行的cell

作者: 未来可期me | 来源:发表于2017-01-11 11:38 被阅读487次

我们经常会使用后台控制的方式,在合适的时机在某个页面显示某些内容。两种情况,一种是数据源从服务器获取,一种是本地获取。
下面就以下这图说事情哈。

看图说话.jpg

若果我们这些功能,都是服务器获取,我们只要拿不同的数据源赋值即可,在cell选中代理方法中,判断数据源中的title之类的属性即可。
我这个呢,是本地写死的,临时需求要后台控制直播功能,怎么办??
写两套数据源,太麻烦,逻辑需要各种判断。。


下面方法,动态隐藏显示某个功能cell即可,方便简单,逻辑清晰。。。


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
if(indexPath.row == 0) { 
cell.hidden = YES;//重点 
}}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
 if(indexPath.row == 0) 
{ 
return 0;//重点 
}}

相关文章

网友评论

  • 嘴爷:为什么不从数据源里remove掉那个对应的数据源呢?
    未来可期me:@嘴爷 因为有的时候很多东西都是写死的,刷数据源可能会错,看情况用
  • A天天涨不停:我擦,大哥6呀,这个太简单了,写了那么多年代码白写了。。。。我一般是在数据源动手脚然后刷新 table ,总感觉业务代码写多了。
    未来可期me:@水瓶座_iOSer 哈哈,是的
    A天天涨不停:@流浪着的梦想家 是的。你这样的话,解决了一个很大的问题。那就是假设有五行,其中有两行是根据业务逻辑来绝对是否显示,然后每一行点击有不同的逻辑处理(因为我们是业务app,逻辑很多)。如果你根据row来显示或点击的时候根据row来绝对执行那个业务方法,那有一个问题就是,如果某一row隐藏了你点击的时候还要去写很多判断。你这种方式就避免点击和显示的时候写判断,我觉得可以省了很多业务代码。
    未来可期me:@水瓶座_iOSer 这个也看情况吧,不是所有都适用
  • 34f3bd733daf:Mark.这么简单以前我竟然不知道
    未来可期me:@goldWave 简单事情简单做啊。你是不是刷数据啦??:smile:

本文标题: iOS UI篇 - tableView隐藏某一行的cell

本文链接:https://www.haomeiwen.com/subject/edxrbttx.html