UITableViewCell - 如何设置选择剪辑?

时间:2011-11-26 21:48:18

标签: iphone uitableview

在我的应用程序中,我有一个UITableView,每个UITableViewCell都使用自定义背景和样式,并在“WillDisplayCell”方法中使用以下代码:

UIImage *cellBackgroundImage = [UIImage imageNamed:@"TableView_Cell_Background_iPhone"];

UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:cellBackgroundImage     highlightedImage:cellBackgroundImage];

[cell setBackgroundView:backgroundImage];

[backgroundImage release];

问题是我用作背景的PNG是一个矩形,但UITableViewCell是一个带有特定图层半径属性的圆角矩形。当我选择一个单元格时,背景会覆盖单元格的圆形特性,我会得到一个刺耳的蓝色突出显示的尖锐矩形。有没有办法设置选定的状态角半径或沿这些线的东西?我唯一的另一个选择就是创建一个完全适合圆角矩形的PNG背景。

感谢。

1 个答案:

答案 0 :(得分:1)

我会将单元格的selectionStyle设置为UITableViewCellSelectionStyleNone,这会停止蓝色突出显示。然后开始做自定义选择工作。

您必须创建UITalbeViewCell的自定义子类。覆盖setSelected或者如果不起作用,则使用手势识别器或覆盖touchesBegan等。我曾经做过一次,之前,我忘记了如何,如果你有问题让我知道并且生病了。

当您检测到单元格被选中时,可能会创建一个半透明叠加层作为PNG,并在选择单元格时显示它。或者降低背景图像的透明度或添加颜色蒙版。