我有一个图像视图,我想每秒更改隐藏的属性。因此,它应该在一秒钟内可见,然后它应该消失一秒钟然后它应该出现一秒钟,依此类推。
我尝试过这样的事情 -
for(int i =0; i<10; i++)
{
sleep(1);
if(i%2==0)
{
self.redImage.hidden=YES;
}
else{
self.redImage.hidden=NO;
}
}
但这似乎不起作用。等待所有10秒钟结束然后它出现。有人可以告诉我做了什么。谢谢
答案 0 :(得分:1)
您应该使用重复计时器:
NSTimeInterval intervalCountDownTimer = 1;
NSTimer *timer = [NSTimer timerWithTimeInterval:intervalCountDownTimer target:self selector:@selector(hideOrShow:) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
这将调用一个方法来更新图像上的隐藏属性。您需要在名为timerCount的类上创建一个NSInteger属性,以便在10秒后停止它。
- (void)hideOrShow:(NSTimer*)timer
{
self.redImage.hidden = !self.redImage.hidden;
self.timerCount += 1;
if( self.timerCount >= 10 )
{
[timer invalidate];
}
}
经过10次迭代后,您可以简单地使计时器无效,这将使其无法再次运行。