【问题标题】:Fade UITextField text淡化 UITextField 文本
【发布时间】:2013-06-10 13:57:24
【问题描述】:

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

[UIView animateWithDuration:0.25 animations:{

    textview.text = @"";

}];

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

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

感谢任何帮助! - 乔曼吉

【问题讨论】:

    标签: animation uitextfield


    【解决方案1】:

    试试这样的:

    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 一起使用

    【讨论】:

      【解决方案2】:

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

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

      更新:

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

      【讨论】:

      • 感谢您的快速回复@ezekielDFM,但这不是我的意思!我的意思是只淡化文本,而不是整个文本视图,对不起,我应该更具体。
      【解决方案3】:

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

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

      拉入可可足:

      pod 'SwifterSwift'
      

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

      textview.fadeIn()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-13
        • 1970-01-01
        • 2015-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        相关资源
        最近更新 更多