iOS 7 UITableView:这是一个错误还是我?

请参阅附件图片。 在iOS 7的表格视图中,UIKit在附件视图和重新sorting控件之间绘制一条细的灰色垂直线。 但是,当滚动表格视图时,该行不会在某些单元格中绘制。 在附图中的单元格1,2和8中不存在。 为什么是这样? 我该如何解决?

在这里输入图像说明

我在iphone 6s plus上遇到了同样的问题,并解决了将cell的textLabel的backgroundColor设置为clearColor

 cell.textLabel.backgroundColor = [UIColor clearColor]; 

看着我的问题揭示了我,标签的右边界是画这条垂直线。 在这里输入图像说明

你可以尝试使用这个

 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath; { cell.backgroundColor=[UIColor clearColor]; cell.backgroundView=nil; } 

这种方法可能会有所帮助,或者可能在你的细胞中,像一些图像或什么。 或者你可以检查使用单元格的分配像这个地方if(cell == nil)if(1)and alloc cell eveytime

我有同样的问题,并设法find解决办法。 当表格视图处于编辑模式时,问题似乎就会发生,并且在表格视图处于非编辑模式时出列队列。 解决方法是将出现的单元格的编辑属性立即设置为NO。 在tableView:cellForRowAtIndexPath:中返回单元格后,表视图将自己设置为YES。

 cell = [tableView dequeueReusableCellWithIdentifier:cellReuseIdentifier forIndexPath:indexPath]; cell.editing = NO; 

这适用于Swift 2.1。 在iOS 9.2.1上。 在XCode 7.2中:我testing了iPhone 6s上的代码,而在4“设备上,分隔符不出现。

我做了一个UITableViewCell的子类

required init(coder aDecoder: NSCoder)我做了这个:

 required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder)! self.textLabel?.backgroundColor = UIColor.clearColor() } 

您可能会发现需要在override func drawRect(rect: CGRect) {}设置背景颜色,因为此解决scheme仅适用于由“接口”构build器创build的单元格。

该解决scheme在开发和模拟器上工作。