UITextField:更改禁用文本字段的外观

Posted

技术标签:

【中文标题】UITextField:更改禁用文本字段的外观【英文标题】:UITextField: change appearance for disabled textfields 【发布时间】:2014-01-21 13:36:38 【问题描述】:

我想更改禁用文本字段的外观,即文本和背景颜色 - 有没有简单合法的方法来实现这一点?

【问题讨论】:

最简单的方法是子类 UITextField 或在 UITextField 上创建类别 【参考方案1】:

你可以继承你的 UITextfield 并像这样覆盖 enabled 属性

- (void)setEnabled:(BOOL)enabled

    [super setEnabled:enabled];
    // Do your customization here, eg:
    self.backgroundColor = [UIColor blackColor];

Swift 版本:

override var isEnabled: Bool 
    willSet 
        backgroundColor = newValue ? UIColor.white : UIColor.black
    

【讨论】:

谢谢,完美。只是想知道是否有“内置”解决方案,但这很简单:) disabledBackground 属性,但它对我不起作用,除非我还在UITextField 上设置background 属性【参考方案2】:

就外观而言,UITextField 类有一个名为disabledBackground 的属性,当它被禁用时,它会将UIImage 对象作为背景图像。同样,background 属性用于其他情况。

【讨论】:

以上是关于UITextField:更改禁用文本字段的外观的主要内容,如果未能解决你的问题,请参考以下文章

ios开发UI篇—UITextfield

当textfield为空时禁用按钮等待其他文本字段中的任何更改

在焦点、反应上更改 Material-UI 文本字段的样式

如何在不触摸或点击文本字段的情况下从动态创建的 UITextField 获取文本(禁用用户交互)?

UITextField 上的下拉菜单?

如何在swift 4中禁用otp屏幕中文本字段上光标的中间外观