UIImageView.highlighted无效

时间:2014-03-20 14:43:23

标签: ios objective-c uiimageview

我遇到了一个奇怪的问题:

UIImageView* imageView = (UIImageView*)[self viewWithTag:1];
[imageView setImage: [UIImage imageNamed: @"open.png"]];
[imageView setHighlightedImage: [UIImage imageNamed: @"close.png"]];
imageView.highlighted = YES;

NSLog(@"%u", imageView.isHighlighted);// return YES

但是高亮的图像永远不会出现! ios 7的问题是什么?这让我疯了。 你能解释一下我原谅了什么吗?这太不直观了

修改


这不是编译问题。问题仍然存在。我刚刚在我的问题中写了一个错字。所以你能原谅我的错误吗?

我已将图像放入UITableViewCell,并从IB设置图像/高亮显示的图像。但是当我尝试切换时:

imageView.isHighlighted = !imageView.isHighlighted;
什么也没出现。但是,如果我将tableViewCell设置为selected = YES。 imageView显示突出显示的图像。

这似乎是一个错误,令人沮丧。

*编辑2 **

实际上我的代码看起来像这样:

- (void)displayExpandedCell:(NSUInteger)viewTag isHighlighted:(BOOL)isHilighted{
    UIImageView* image1 = (UIImageView*)[self viewWithTag: viewTag];

    if([image1 isKindOfClass: [UIImageView class]]){
        image1.highlighted = isHilighted;
        image1.alpha = isHilighted? .5f : 1;
    }
}

alpha实际上有效。但不是高亮的形象。

1 个答案:

答案 0 :(得分:1)

这听起来很愚蠢,但尝试将imageView重命名为imageView1或其他任何内容,这将得到解决。 UITableViewCell有一个名为imageView的内部属性。您的命名可能与之相冲突。