0

我正在使用 drawRect 绘制一个 NSString,一旦它被绘制,我是否可以为这个 NSString 设置动画?我希望它在 3.0 秒后淡入/淡出。我该怎么做?

4

2 回答 2

1

您不能直接淡化绘制的字符串本身。您可以淡化图层,也可以淡化视图。将字符串绘制到其中一个上并淡化图层或视图。这通常使用UILabelor最容易完成CATextLayer,但如果您愿意,您可以在自己的图层上绘制并淡化它。

于 2012-12-11T19:28:00.100 回答
1

制作一个UILabel,然后用动画来实现你的愿望

- (void)faceInLabel{
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
    label.text = @"My String";
    [myView addSubview:label];
    label.alpha = 0;
    [UIView animateWithDuration:0.5 animations:^{
        label.alpha = 1;
    }
    completion:^(BOOL finished)
     {
         [NSTimer timerWithTimeInterval:3 target:self selector:@selector(fadeOutLabel) userInfo:nil   repeats:NO];
      }];
}
- (void)fadeOutLabel
{
    [UIView animateWithDuration:0.5 animations:^{
        label.alpha = 0;
    }];
}
于 2012-12-11T20:30:37.627 回答