2012-09-25 99 views
2

我有一个UIImageView作为我的UITableViewCell子类的背景。我在“图像”字段中放置了一个图像,在“突出显示”字段中放置了一个较轻的版本。在我的UITableViewCell子类,我添加代码来设置的ImageView来强调,但没有任何变化......更改UIImageView从正常突出显示不起作用

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 
    // Configure the view for the selected state 
    self.backgroundImageView.highlighted = selected; 
    NSLog(@"selected: %d", selected); 
} 

我验证过self.backgroundImageView是否正确连接为一个IBOutlet。

回答

0

只是初始化的UIImageView像这样:

[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"gray_arrow"] highlightedImage:[UIImage imageNamed:@"white_arrow"]]; 

如果你需要保持它强调的,在你的tableview中的didSelectRowAtIndexPath方法的方法,得到代表您的UIImageView子视图,并使其高亮显示。事情是这样的:

UIImageView* imageView = [[[dataSource objectAtIndex:[indexPath row]] subviews] objectAtIndex:2] 
[imageView setHighlighted:YES]; 

设置的UIImageView在其他单元:

[imageView setHighlighted:NO];