我一直试图让我的 UILabel 在Xcode中闪烁 但问题是它不会闪烁
这是我的代码:
self.labelCountdownTime.alpha = 0.0;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:1.0];
[UIView setAnimationRepeatCount:FLT_MAX];
self.labelCountdownTime.alpha = 1.0;
[UIView commitAnimations];
我有什么问题。
由于
答案 0 :(得分:0)
您可以使用NSTimer
在UILabel中闪烁文字,如下所示:
NSTimer *timer = [NSTimer
scheduledTimerWithTimeInterval:(NSTimeInterval)(1.0)
target:self
selector:@selector(blink)
userInfo:nil
repeats:YES];
BOOL blinkStatus = NO;
选择器将调用此函数:
-(void)blink{
if(blinkStatus == NO){
yourLabel.alpha = 1.0;
blinkStatus = YES;
}else {
yourLabel.alpha = 0.0;
blinkStatus = NO;
}
}
或者您可以使用animationWithDuration
方法UIView
,如下所示:
self.yourLabel.alpha = 0;
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse animations:^{
self.yourLabel.alpha = 1;
} completion:nil];
希望这会对你有所帮助。
答案 1 :(得分:0)
我认为你想要的东西更像是以下内容: 在控制器中创建一个计时器:
@property (strong, nonatomic) NSTimer *timer;
然后启动您需要启动的计时器,例如 viewDidLoad
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(toggleLabelAlpha) userInfo:nil repeats:YES];
这是选择器:
- (void)toggleLabelAlpha {
[self.labelCountdownTime setHidden:(!self.labelCountdownTime.hidden)];
}
试试这个?