(于 2013 年 10 月 1 日更新,使其适用于 iOS7)
感谢用户 Erway Software 帮助我。
以下是我如何让代码工作:
在 UITableViewController 上:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// ...
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"someId"];
UIImage *image = [UIImage imageNamed:@"image_name"];
SelectionImageView *imageView = [[SelectionImageView alloc] initWithImage:image];
[cell setSelectedBackgroundView:imageView];
[tableView setClipsToBounds:NO];
[[[cell contentView] superview] setClipsToBounds:NO];
// ...
}
这是 SelectionImageView 的代码:
@interface SelectionImageView : UIImageView
@end
@implementation SelectionImageView
- (void)setFrame:(CGRect)frame
{
// 342 is the width of image_name
if (frame.size.width == 342.f) {
[super setFrame:frame];
}
}
@end