4

我希望能够在更改文本时使文本在 uitextfield 中淡出。我试过了

[UIView animateWithDuration:0.25 animations:{

    textview.text = @"";

}];

但这没有用。如果我可以访问文本字段 UILabel 会更容易,但我没有看到任何!

哦,顺便说一句,我只希望文本褪色而不是整个字段

任何帮助表示赞赏!- 乔曼吉

4

3 回答 3

4

尝试这样的事情:

CATransition *transition = [CATransition animation];
transition.duration = 0.15;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;

[textField.layer addAnimation:transition forKey:nil];

textField.text = @"some new text"; // or nil

它不仅适用于文本字段。我将它与 UIImageView 一起使用

于 2015-07-01T15:14:31.730 回答
1

您需要将“textview”的 alpha 设置为您想要将其淡化为的值:

[UIView animateWithDuration:0.25 animations:{
     textview.alpha = 0;
}];

更新:

文本字段本身不可访问。“textColor”属性是不可动画的,所以也没有。最好的办法是将图形样式与标签分开,并将其放在标签后面的单独视图中。这样,您可以在不移除边框和 BG 颜色的情况下淡出标签,或者您可以设置标签样式。

于 2013-06-10T14:05:41.657 回答
0

如果您想要一组很棒的共享类和扩展,其中包括带有 fadeIn() 和 fadeOut() 函数的 UIView 扩展,请查看 pod “SwifterSwift”

http://swifterswift.com/docs/Extensions/UIView.html

拉入可可足:

pod 'SwifterSwift'

然后你可以使用类似的东西:

textview.fadeIn()
于 2019-01-17T04:58:35.667 回答