我希望能够在更改文本时将文本淡入uitextfield。我试过了
[UIView animateWithDuration:0.25 animations:{
textview.text = @"";
}];
但这不起作用。如果我可以访问文本字段UILabel会更容易,但我没有任何内容!
哦,顺便说一下,我只希望文字褪色不整个字段
任何帮助表示赞赏! - JomanJi
答案 0 :(得分: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
答案 1 :(得分:1)
你需要设置" textview"的alpha。到你希望淡化它的值:
[UIView animateWithDuration:0.25 animations:{
textview.alpha = 0;
}];
<强>更新强>
无法访问文本字段本身。 &#34; textColor&#34;财产是不可动画的,因此也是如此。最好的办法是将图形样式与标签分开,并将其放在标签后面的单独视图中。这样,您可以在不删除边框和BG颜色的情况下淡出标签,或者您可以设置标签样式。
答案 2 :(得分:0)
如果您需要大量的共享类和扩展,包括带有带有fadeIn()和fadeOut()函数的UIView扩展,请签出pod“ SwifterSwift”
http://swifterswift.com/docs/Extensions/UIView.html
拉入cocoapod:
pod 'SwifterSwift'
然后您可以使用类似的内容:
textview.fadeIn()