我正在制作一个应用程序,需要使用 UITableView
来有序显示内容。但自从我更新到iOS 8和Xcode 6之后,几乎整个视图上都会出现一个神秘的灰色框,如下图所示。这并不是每个 UITableView
都会发生的,只有一些 (没有明显的模式)。
我正在制作一个应用程序,需要使用 UITableView
来有序显示内容。但自从我更新到iOS 8和Xcode 6之后,几乎整个视图上都会出现一个神秘的灰色框,如下图所示。这并不是每个 UITableView
都会发生的,只有一些 (没有明显的模式)。
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 44.0;
}
在 iOS 7
及以前的版本中,接受默认设置。有关更多信息,请参见此链接。
通过这样做,行高将自动调整,您无需设置固定高度。这解决了您遇到的灰色背景颜色问题。
这绝对是XCode6-Beta2中的一个错误。我找到了一个解决方法。选择故事板,进入文件检查器实用程序。取消“使用自动布局”选项,然后在弹出窗口中单击“禁用大小类别”。
自动布局在beta2中似乎有很多问题。一旦关闭大小类别,神秘的“模糊可滚动内容”警告也会消失。
之后我能够重新打开大小类别和自动布局,灰色矩形仍然消失了,但是由于失去了大小类别信息,所有东西都错位了。这是一团糟。
奇怪的是,这与表视图分隔符样式有关。如果将其设置为“无”,问题就会消失。但当然,那么你就没有分隔符了!如果要使用单行分隔符,必须在-tableView:heightForRowAtIndexPath:
中手动指定单元格高度。
我不知道为什么会这样,但我猜测这与新的自适应表格行有关。是时候进行一些研究了 :)