使用核心动画闪烁UILabel问题

时间:2012-04-16 21:44:10

标签: ios5 label

我希望有一个使用核心动画闪烁的文本。我已经提供了以下代码,但我没有看到文本也没有看到它闪烁。

// Create a blinking text
UILabel* labelText = [[UILabel alloc] initWithFrame:CGRectMake(355, 490, 400, 50)];
labelText.text = @"Tap to start";
labelText.backgroundColor = [UIColor clearColor];
[self.view addSubview:labelText];


void (^animationLabel) (void) = ^{
        labelText.alpha = 1;
};
void (^completionLabel) (BOOL) = ^(BOOL f) {
        labelText.alpha = 0;
};

NSUInteger opts =  UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat;
[UIView animateWithDuration:1.f delay:0 options:opts
                     animations:animationLabel completion:completionLabel];

任何想法?我真的没有看到我的方法有什么问题。

1 个答案:

答案 0 :(得分:3)

有点愚蠢的错误,但将来很有用 - 代码应该是

void (^animationLabel) (void) = ^{
        labelText.alpha = 0;
    };
    void (^completionLabel) (BOOL) = ^(BOOL f) {
        labelText.alpha = 1;
    }; 

由于alpha必须设置为0,因此它应该是动画块的一部分,而不是完成动画块。