【发布时间】:2010-05-10 02:18:38
【问题描述】:
在描述问题之前,让我先指出这是与this question 不同的问题。
问题
This screenshot 在 tableView:didSelectRowAtIndexPath: 处设置了一个中断,正如您在模拟器中看到的(图像的最右侧),在所选单元格的底部有一条单像素蓝线。这不是客户要求的设计,也不是这个应用程序过去的行为方式:不应该有分隔符,即使在选择时也是如此。
我是怎么到这里的 我最初使用带有相应 nib (.xib) 文件的自定义 UITableViewCell 类设计了这个表格视图,并且选择没有问题:分隔符根据需要隐藏。可以预见的是,由于视图层次结构的所有开销,滚动很慢,所以我重新设计了自定义单元格以使用 Loren Brichter 的fast scrolling solution。现在滚动速度要快得多,但我终生无法摆脱分隔符。
我的尝试
在上面截图的时候……
- 表格视图在 IB 中有“分隔符 [无]”。
- 包含表格视图的 UIViewController 在 viewDid Load 中有这一行:
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
正如您在屏幕截图中看到的,我插入了一些未使用的行来证明 separatorStyle 已按需要设置。其他测试确认 tableView 和 self.tableView 是同一断点处的等效指针。
我还尝试将 tableView.separatorColor 设置为黑色并清除,所有结果都相同:在进行选择之前,单元格看起来是正确的。
Manjunath:这是我用来根据单元格是否被触摸来绘制交替背景的代码。您可以在屏幕截图中看到差异(动画时不那么细微)。
if(self.highlighted) {
textColor = [UIColor blackColor];
UIImage *bg = [UIImage imageNamed:@"image-cell-background_highlighted.png"];
[bg drawAtPoint:CGPointMake(0.0, 1.0)];
}
else {
UIImage *bg = [UIImage imageNamed:@"image-cell-background.png"];
[bg drawAtPoint:CGPointMake(0.0, 0.0)];
}
这在 UIImageCell.m 中的 drawContentView: 中被调用,该方法继承自 Brichter 先生的 ABTableViewCell 超类。
【问题讨论】:
标签: iphone objective-c cocoa-touch uitableview separator