我希望能够在更改文本时使文本在 uitextfield 中淡出。我试过了
[UIView animateWithDuration:0.25 animations:{
textview.text = @"";
}];
但这没有用。如果我可以访问文本字段 UILabel 会更容易,但我没有看到任何!
哦,顺便说一句,我只希望文本褪色而不是整个字段
任何帮助表示赞赏!- 乔曼吉
我希望能够在更改文本时使文本在 uitextfield 中淡出。我试过了
[UIView animateWithDuration:0.25 animations:{
textview.text = @"";
}];
但这没有用。如果我可以访问文本字段 UILabel 会更容易,但我没有看到任何!
哦,顺便说一句,我只希望文本褪色而不是整个字段
任何帮助表示赞赏!- 乔曼吉
尝试这样的事情:
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 一起使用
您需要将“textview”的 alpha 设置为您想要将其淡化为的值:
[UIView animateWithDuration:0.25 animations:{
textview.alpha = 0;
}];
更新:
文本字段本身不可访问。“textColor”属性是不可动画的,所以也没有。最好的办法是将图形样式与标签分开,并将其放在标签后面的单独视图中。这样,您可以在不移除边框和 BG 颜色的情况下淡出标签,或者您可以设置标签样式。
如果您想要一组很棒的共享类和扩展,其中包括带有 fadeIn() 和 fadeOut() 函数的 UIView 扩展,请查看 pod “SwifterSwift”
http://swifterswift.com/docs/Extensions/UIView.html
拉入可可足:
pod 'SwifterSwift'
然后你可以使用类似的东西:
textview.fadeIn()