我正在创建一个应用程序,我需要使用UITableView
以有组织的方式显示内容,但自从我更新到iOS 8和Xcode 6后,我几乎在整个视图中都获得了一个神秘的灰盒子。这可以在下图中看到。这不会发生在每个UITableView
上,只有一些(没有明显的模式)。
答案 0 :(得分:19)
在iOS 8
中,您必须在UITableView
代表中指定一个高度:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 44.0;
}
在iOS 7
及更早版本中,接受了默认值。有关详细信息,请参阅this link。
答案 1 :(得分:0)
这绝对是XCode6-Beta2中的一个错误。我找到了一个解决方法。选择故事板,然后转到文件检查器实用程序。取消选中"使用自动布局"然后单击"禁用大小类"在弹出窗口中。
在beta2中,自动布局似乎相当破碎。一旦你关闭大小类,神秘的"模糊的可滚动内容"警告也会消失。
之后我能够重新打开大小类和自动布局,灰色矩形仍然消失,但是在丢失大小类信息后一切都在错误的位置。这真是一团糟。
答案 2 :(得分:0)
奇怪的是,它与表视图分隔符样式有关。如果将其设置为“无”,则问题将消失。但是当然,你没有分隔符!如果要使用单行分隔符,则必须在-tableView:heightForRowAtIndexPath:
中手动指定单元格高度。
我不知道为什么会这样,但我猜它与新的自行调整表行有关。是时候做一些研究了:))
答案 3 :(得分:0)
在iOS 8中,可以自动为行高设置行高。 您所要做的就是为UITableViewCell的contentView设置一个顶部和底部约束,如下所示(注意约束):
通过这样做,行高将是自动的,您不需要设置固定高度。 这会修复您遇到的灰色背景颜色。