uitableviewcell分隔符在ios 8中移动

时间:2014-08-27 15:31:31

标签: objective-c ios8 separator tableviewcell

我以编程方式创建表格视图和单元格。 tableview单元格分隔符在iOS 8中移动,

enter image description here

即使我已经设置:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return kSomeNumber;
}

我的应用是ios7,我的手机是ios8。可能是什么问题呢? 我不能使用仅适用于ios8的cell.layoutMargins

1 个答案:

答案 0 :(得分:5)

从iOS8开始,我们有layoutMargins导致你的行。

如果您有自定义单元格,请添加此方法以将其删除:

- (UIEdgeInsets)layoutMargins 
{
     return UIEdgeInsetsZero;
}

或者在你的uitableviewcontroller中添加:

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

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

需要使用responsToSelector才能支持iOS7

另请查看iOS 8 UITableView separator inset 0 not working了解详情