我正在使用 drawRect 绘制一个 NSString,一旦它被绘制,我是否可以为这个 NSString 设置动画?我希望它在 3.0 秒后淡入/淡出。我该怎么做?
问问题
516 次
2 回答
1
您不能直接淡化绘制的字符串本身。您可以淡化图层,也可以淡化视图。将字符串绘制到其中一个上并淡化图层或视图。这通常使用UILabel
or最容易完成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 回答