我有一个自定义UITableViewCell,在其中创建了这样的Icon:
self.icon = [[UIImageView alloc] initWithFrame:CGRectMake(15, 15, 50, 50)];
[self.icon setImage:[AppearanceProxyController getImageForAssetIdentifier:@"import"]];
[self addSubview:self.icon];
效果很好。此外,还有一种隐藏图标的方法:
-(void)hideIcon{
dispatch_async(dispatch_get_main_queue(), ^{
[self.icon setHidden:true];
});
}
这...根本没有效果,我也不知道为什么。
当从其tableviewcontroller轻触单元格时,将调用该方法。
检查将其声明为隐藏,但不是。
UIImageView: 0x17d37d20; frame = (15 15; 50 50); hidden = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x17f8f4c0>> is hidden: 1
将uiimage设置为n,否则将alpha设置为0.0也无效。我究竟做错了什么?
最佳答案
您可能有多个UIImageView
实例,但是仅引用了最新的一个。当您将其隐藏时,您会看到下面的旧实例(如果它们显示相同的图像)看起来像隐藏不起作用。
因此,您需要确保在旧实例上调用removeFromSuperview
,或者需要确保创建的实例不止一个。
关于ios - 无法通过setHidden隐藏UIImageView:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25368578/