美文网首页面试
CollectionViewCell嵌套UITableView解

CollectionViewCell嵌套UITableView解

作者: 迷路的安然和无恙 | 来源:发表于2016-12-04 17:05 被阅读299次

    如果需要支持页面的滚动,同时内部又是明显的列表。可能会采用UICollctionView嵌套UITableView的架构。

    1.由此带来的cell重用问题可以使用如下方式尝试解决:

    • 在cell准备重用的时候会先后调用一下两个方法:

       - (void)prepareForReuse {
           [super prepareForReuse];
           //在此方法中执行重用前的操作
          //如给contentView中的tableView赋值后的刷新操作
          [self.tableView reloadData];
       }
      
       - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
      
       }
      

    2.关于tableViewCell重用带来的问题,可能是cell在没有保证数据来自模型,又或是没有在cell重用前对cell内的数据清空。

    3.清空数据的方式,一种是在上述的方法中对cell内的控件内容清空,另一种是,在每次执行"cellForRow..."方法时,对cell内的控件赋空值。

     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        cell.textLabel.text = nil;
    }
    

    4.赋值后的刷新操作
    在模型赋值后对collectionViewCell中的tabelView进行reloadData 也是关键步骤。

    相关文章

      网友评论

        本文标题:CollectionViewCell嵌套UITableView解

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