IOS 自定义cell 分割线不完整

1、 问题


第一次进去的时候,发现1-6 这个cell右边没有分割线,而且这个1-6的Cell 不能选中,影响事件。  但是当上下滑动后,它会出来,完全正常。



2、解决办法


折腾了 大半天,  找到原因:


注释掉自定义cell类里的- (void)setFrame:(CGRect)frame 方法,IOS7  就好了。


@implementation MyTableViewCell


- (void)setFrame:(CGRect)frame {

    

    frame.size.width = self.window.frame.size.width;

    [super setFrame:frame];

    

}


再去IOS 8 测试,发现全没分割线了:


解决办法在对应的TableViewController里面加上下面语句,就好了


  self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;



3、分割线相关扩展



分割线没有显示全,左边有一段缺失:

下面code 可以解决

-(void)viewDidLayoutSubviews {

  if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {

       [self.tableView setSeparatorInset:UIEdgeInsetsZero];

       

  }

   if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)])  {

       [self.tableView setLayoutMargins:UIEdgeInsetsZero];

   }

}


-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPat{

    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {

      [cell setLayoutMargins:UIEdgeInsetsZero];

  }

   if ([cell respondsToSelector:@selector(setSeparatorInset:)]){

       [cell setSeparatorInset:UIEdgeInsetsZero];

   }  

}






  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值