(更新于2013年10月1日,以使其在iOS7工作)
荣誉给用户Erway软件帮了我。
这里是我得到的代码工作:
在的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
尝试设置所有的'clipsToBounds'你可以想到'NO'的所有视图的属性。一旦你得到了一些有用的东西,把它们一个接一个地拿出来,直到你剩下最少的自定义来达到你的效果。 – Undo 2013-04-08 20:15:03
它的工作!非常感谢:)我会在回答中发布我的更新代码 – josemando 2013-04-09 01:20:03