UITextField占位符文本在iOS13暗模式下不可读

问题描述 投票:-1回答:1

UITextField具有.placeholder文本属性,用于在将文本添加到字段之前显示信息,直到现在一直清晰可见,但是在iOS13中引入了暗模式,现在占位符文本几乎不可读为白色UITextField(我通过.backgroundColor = [UIColor whiteColor]明确将其设为白色)。

我的问题是,有什么实际的解决方案可以解决整个项目中的问题,我可以通过简单地设置attributedPlaceholder字符串来手动更改任何UITextField上的占位符颜色,这可能需要一段时间,有没有办法仅在UITextFields上禁用暗模式设置,而不是在其他元素上禁用暗模式设置?

objective-c uitextfield ios13 ios-darkmode
1个回答
0
投票

事实证明,Apple提供了一种使用以下(Objective-C)在各种元素(甚至整个应用程序的UIWindow)上覆盖此方法的方法:

if (@available(iOS 13.0, *)) {
    textField.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}

我通过swizzle将其应用于所有UITextFields


0
投票

事实证明,Apple提供了一种使用以下(Objective-C)在各种元素(甚至整个应用程序的UIWindow)上覆盖此方法的方法:

if (@available(iOS 13.0, *)) {
    textField.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}

我通过swizzle将其应用于所有UITextFields

© www.soinside.com 2019 - 2024. All rights reserved.