Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS9的UITableview分隔符未隐藏_Ios_Uitableview_Ios9 - Fatal编程技术网

iOS9的UITableview分隔符未隐藏

iOS9的UITableview分隔符未隐藏,ios,uitableview,ios9,Ios,Uitableview,Ios9,我已经用编码实现了UITableView。我还设置了UITableViewCellSeparator样式none。它隐藏在iOS8及以下版本中,但没有隐藏在iOS9 Beta中。根据我的调查,这不是iOS9的错,而是Xcode 7.0 Beta 4的错 如果我使用Xcode 7.0 beta 4构建应用程序,那么即使在Interface Builder中设置为“无”,也会显示单元格分隔符。如果我使用Xcode 6.4或7.0 beta 3构建相同的代码,则不会显示分隔符 您可以在ViewCont

我已经用编码实现了
UITableView
。我还设置了
UITableViewCellSeparator样式none
。它隐藏在iOS8及以下版本中,但没有隐藏在iOS9 Beta中。

根据我的调查,这不是iOS9的错,而是Xcode 7.0 Beta 4的错

如果我使用Xcode 7.0 beta 4构建应用程序,那么即使在Interface Builder中设置为“无”,也会显示单元格分隔符。如果我使用Xcode 6.4或7.0 beta 3构建相同的代码,则不会显示分隔符

您可以在ViewController中显式调用此选项作为解决方法:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

(我猜ibtool可能有问题)

我也有同样的问题,在ios8上运行良好,但在iOS9中显示了分隔符。我已经将分隔符样式设置为“无”。下面的问题为我解决了

if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
        cell.preservesSuperviewLayoutMargins = NO;
    }
    cell.separatorInset = UIEdgeInsetsMake(0.f, 0.f, 0.f, cell.bounds.size.width);
    if([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        cell.layoutMargins = UIEdgeInsetsZero;
    }

这基本上是使用插图挤压分隔符。

将分隔符样式设置为
。没有一个对我不起作用,所以我使用了边缘插图作为一种变通方法

self.tableView.separatorInset.left = UIScreen.mainScreen().bounds.width

这个问题很烦人。以下是我的解决方案:

override func didMoveToSuperview() {
    if self.superview != nil {
        self.tableView.separatorStyle = .None
    }
}
将视图添加到其superview时,请再次设置分隔符样式。

适用于我的解决方案:


在每次重新加载数据方法(ios 9.1)之前,可以通过设置UITableViewCellSeparatorOne删除分隔符。我不知道为什么,但是UITableView在调用reloadData方法后,会在每个季度重置分隔符样式和分隔符颜色。

请在layoutSubviews方法中将分隔符样式设置为“无”


使用基于约束的布局时,基本实现将基于约束的布局应用于UITableViewCellSeparatorStyle,并将separatorStyle设置为UITableViewCellSeparatorStyleNone。此方法中的分隔符将为您隐藏。

我也面临同样的问题。我的解决办法就是

tableView.separatorColor=UIColor.clearColor()

斯威夫特

myTableView.separatorStyle = UITableViewCellSeparatorStyle.None

cellForRowAtIndexPath中,方法将在iOS 9及更高版本中隐藏白线。

以下代码适用于我

  override func layoutSubviews() {
     super.layoutSubviews()
     tableView.separatorStyle = .none 
   }

可能的重复不是上述问题的重复。我想得到的结果与那个问题中得到的结果大不相同。看看这个答案:我不想改变分隔符的插入。我想把它藏起来,听起来像只虫子。在bugreporter.apple.com文件雷达在我的情况下,我正在使用xcode 6.4从代码构建加载UITableview,但我仍然遇到了这个问题。我在当前的projet中遇到了这个问题,尽管我以编程方式构建了tableView及其属性。因此,ibtool可能有错,但他不是唯一有罪的参与者:)太好了,当我更新到最终的Xcode版本时,我得到了解决问题的方法。是的。当没有足够的单元格填充tableview时,唯一有效的解决方案是在每次重新加载数据调用之后还是在每次重新加载数据调用中?我也有过类似的经历,我必须添加额外的调用来设置分隔符和背景色,以使表正确显示。在viewDidLayoutSubviews(在我的视图控制器中)中执行此操作同样有效。如果要在uiview中创建表,则需要在视图的DrawRect属性中进行设置。
  override func layoutSubviews() {
     super.layoutSubviews()
     tableView.separatorStyle = .none 
   }