2012-09-25 63 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];