UITableViewCellSelectionStyleGray是如何实现的?

时间:2013-04-20 05:57:39

标签: iphone xcode uitableview

我想在代码中模仿这种风格,更具体地说是在setSelected。

如果我使用自定义单元格,有人知道我该怎么做。

2 个答案:

答案 0 :(得分:2)

通过设置单元格的selectedBackgroundView属性来实现所有单元格选择样式。对于系统蓝色和白色系统,这些是具有蓝色和灰色渐变的内置视图。将单元格选择样式设置为蓝色或灰色只会告诉单元格使用其中一个视图作为其选定的背景。

假设您已将所有单元格内容添加到内容视图中,您仍可以将这些样式用于自定义单元格。

您可以创建自己的视图(通常是可伸缩的图像或自定义图纸视图),并将其设置为自定义效果的选定背景视图。

选择单元格后,如果可以,它还会告诉其任何内容视图子视图(标签等)是否突出显示。您可以通过在任何标签上设置highlightedTextColor来控制其外观。

您可以实现所有这一切,而无需触及setSelected。这一切都是由基础实现完成的。

答案 1 :(得分:-1)

试试这个可能对你有帮助,

UIView *selectedBackgroundViewForCell = [UIView alloc]init];
[selectedBackgroundViewForCell setBackgroundColor:[UIColor grayColor]];
theCell.selectedBackgroundView = selectedBackgroundViewForCell;

(或)

cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SelectedCellBackground.png"]] autorelease];