UITextField:更改禁用文本框的外观

问题描述:

我想更改禁用文本框的外观,即文本和背景颜色 - 是否有一种简单合法的方法来实现此目的?UITextField:更改禁用文本框的外观

+0

最简单的方法将是UITextField的子类UITextField或创建类别 – 2intor

你可以继承你的UITextField和覆盖enabled财产这样

- (void)setEnabled:(BOOL)enabled 
{ 
    [super setEnabled:enabled]; 
    // Do your customization here, eg: 
    self.backgroundColor = [UIColor blackColor]; 
} 

斯威夫特版本:

override var isEnabled: Bool { 
    willSet { 
     backgroundColor = newValue ? UIColor.white : UIColor.black 
    } 
} 
+0

谢谢,完美的作品。只是想知道是否有'内置'解决方案,但这足够简单:) – swalkner

+0

有'disabledBackground'属性,但它不适用于我,除非我也在'UITextField'上设置了'background'属性。 –

至于只是表象,在UITextField类有一个名为disabledBackground属性,可以取一个UIImage对象作为禁用时的背景图像。同样,background属性用于其他情况。