我创建了一个UIImageView的子类,我需要在我的应用程序中重复使用它。这是一个看起来像足球的进度条。其中2种方法是:
-(void)showFootball {
self.hidden = NO;
// other code
}
-(void)hideFootball {
self.hidden = YES;
}
当子类initWithCoder包含这个时:
self.image = [UIImage imageNamed:@"cristiano.png"];
self.hidden = YES;
当我将这个子类包含到我的项目中,并把它放在故事板上时,我有一个地方我说
[self.soccerBallTimer show];
当然它出现在屏幕上。但是当我说
时[self.soccerBallTimer hide];
它不会消失。我也在子类中试过像
这样的东西self.image = nil;
这也没有帮助。有什么想法吗?
编辑:我的init是这样的:
-(id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
self.image = [UIImage imageNamed:@"cristiano.png"];
self.hidden = YES;
NSLog(@"init with coder");
return self;
}
答案 0 :(得分:1)
也许你应该从superview中删除它(你可以用动画做到这一点) 并在致电' show'
时重新添加