drawRect を使用して NSString を描画していますが、一度描画した NSString をアニメーション化することはできますか? 3.0秒後にフェードイン/フェードアウトしたい。どうすればそうできますか?
2 に答える
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 に答える
1
描画された文字列自体を直接フェードすることはできません。レイヤーをフェードしたり、ビューをフェードしたりできます。これらのいずれかに文字列を描画し、レイヤーまたはビューをフェードします。UILabel
これは通常、またはを使用して最も簡単にCATextLayer
実行できますが、必要に応じて独自のレイヤーに描画し、それをフェードすることもできます。
于 2012-12-11T19:28:00.100 に答える