1

我在这里的 iPhone 开发体验中遇到了一个特定 UITableView 的奇怪问题。如果您查看以下屏幕截图:

替代文字 http://dl-client.getdropbox.com/u/57676/brokencell.png

您会注意到穿过“Jane Aba”牢房中间的罢工。

知道是什么导致了这种奇怪的图形显示吗?对于模拟器和运行 2.2 SDK 的实际设备都是如此。

根据要求,这是我的-tableView:cellForRowIndexPath:方法:

* 编辑 *

我找到了问题所在。我不完全确定为什么这是问题,但确实如此。在我的 RootViewController 中,我的-initWithCoder:方法中有以下代码行:

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

当我将其注释掉时,单元格(不在 RootViewController 中,而是辅助控制器中)已解决。知道为什么会这样吗?

4

3 回答 3

1

我有一个类似的问题。对我来说,单行是由创建但从未正确调整大小或放置的多余视图引起的,因此 1 像素高,漂浮在其他所有内容之上。您还可以通过混淆 UINavigationController 的子视图集(通过将视图直接添加到其布局容器)来导致这种情况。

查看您的 UI(xib 文件和以编程方式创建的视图)以查找不应该存在或不被使用的视图。编写一些代码来转储 UI 层次结构可能会有所帮助,这样您就可以看到哪些视图在哪里。

于 2008-11-26T23:31:45.960 回答
0

当您在 IB 中将表格视图的单元格高度设置为 1 像素时,问题就消失了。似乎在填充表格之前,使用 IB 中设置的单元格高度的轮廓绘制了一个空表格。不要将单元格高度设置为 0。IB 不喜欢这样。:-)

于 2009-01-13T21:11:59.283 回答
0

你在你的 -tableView:heightForRowAtIndexPath: 方法中做了什么特别的事情吗?

在我看来,行的高度设置不正确,因此单元格的内容正在扩展超出其范围。

于 2008-11-26T19:53:48.520 回答