无法在Xcode中使UIlabel文本闪烁

时间:2016-01-09 08:09:45

标签: ios objective-c xcode

我一直试图让我的 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];

我有什么问题。

由于

2 个答案:

答案 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)];
}

试试这个?