我遇到了一个奇怪的问题:
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实际上有效。但不是高亮的形象。
答案 0 :(得分:1)
这听起来很愚蠢,但尝试将imageView
重命名为imageView1
或其他任何内容,这将得到解决。 UITableViewCell
有一个名为imageView
的内部属性。您的命名可能与之相冲突。