关于tableview

tableview在使用的时候都会出现的问题  就是重用cell。

  1. 重用cell

      是数据显示的关键点,很多人都遇到过数据重叠或者cell的重叠的问题.

      这里描述几个坑吧,也是自己遇到的或者他人遇到的坑。

(1)自定义cell的内容进行重用时   回拉发生的cell不同内容重叠在同一个cell上面。

    处理方法:在cellForRowAtIndexpath方法中 在开始初始化cell,cell的内容nil,或者移除add的view。

    因为cell的重用是只会重用cell而不会重用内容,所以在每一次的cell重用后要消除cell的内容.

(2)高度的问题 导致出现有的内容不显示出来 

3)创建的tableView有时候会往下偏移,还是automaticallyAdjustsScrollViewInsets惹的祸,还有时候最后一个单元格只显示了一部分,这就要看你创建的tableView时候的frame怎么设置的,有导航控制器和标签控制器的时候它都会自动偏移的,这种问题的解决办法就是用tableViewcontentInset属性把tableView的偏移量改过来。

 (4)内容数组的坑  可能出现的问题是数组越界和初始化数组

  (5)注册cell时   使用static NSString const *静态单元格

UITableView点击代理方法

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

//    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

//    [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; (这种是没有点击后的阴影效果)

    

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];  

    cell.selected = NO;  (这种是点击的时候有效果,返回后效果消失)

之后在总结collection的一些问题

你可能感兴趣的:(关于tableview)