在我的应用程序中,我有一个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背景。
感谢。
答案 0 :(得分:1)
我会将单元格的selectionStyle设置为UITableViewCellSelectionStyleNone,这会停止蓝色突出显示。然后开始做自定义选择工作。
您必须创建UITalbeViewCell的自定义子类。覆盖setSelected或者如果不起作用,则使用手势识别器或覆盖touchesBegan等。我曾经做过一次,之前,我忘记了如何,如果你有问题让我知道并且生病了。
当您检测到单元格被选中时,可能会创建一个半透明叠加层作为PNG,并在选择单元格时显示它。或者降低背景图像的透明度或添加颜色蒙版。