现在,我有一个按钮的IBAction,它生成一个随机数,每个数字都分配给在UILabel中显示文本。而不是仅仅出现,我希望文本淡入或任何其他有趣的动画将是很酷的。有谁知道一种简单的方法来实现这一点吗?
现在我只是使用
labelMain.text = @"my text";发布于 2013-06-28 14:23:23
下面的代码会给你的标签带来淡入淡出的效果。
- (IBAction)buttonClicked:(UIButton *)sender
{
labelMain.alpha = 0;
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseIn
animations:^{ labelMain.alpha = 1;}
completion:nil];
}发布于 2014-06-06 05:53:09
我知道这有点过时(11个月前),但我认为值得一提的是其他方法的替代方案,我觉得这是一个更好的解决方案。
使用UIView transitionWithView:duration:options:animations:completion类级方法,如下所示:
NSTimeInterval duration = 0.5f;
[UIView transitionWithView:labelMain
duration:duration
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
labelMain.text = @"new value";
} completion:nil];这将从先前的labelMain.text值交叉淡入淡出为“新值”。
这种方法也适用于其他视图值,例如,更改UIImageView的图像。
有关此主题,请参阅Apple's docs。
发布于 2013-06-28 14:26:26
label.text = @"old text";
[UIView animateWithDuration:0.4 animations:^{
label.alpha = 0.0f;
} completion:^(BOOL finished) {
label.text = @"next text";
[UIView animateWithDuration:0.4 animations:^{
label.alpha = 1.0f;
} completion:^(BOOL finished) {
NSLog(@"finished transition");
}];
}];https://stackoverflow.com/questions/17358417
复制相似问题