UITextField具有.placeholder
文本属性,用于在将文本添加到字段之前显示信息,直到现在一直清晰可见,但是在iOS13中引入了暗模式,现在占位符文本几乎不可读为白色UITextField(我通过.backgroundColor = [UIColor whiteColor]
明确将其设为白色)。
我的问题是,有什么实际的解决方案可以解决整个项目中的问题,我可以通过简单地设置attributedPlaceholder
字符串来手动更改任何UITextField上的占位符颜色,这可能需要一段时间,有没有办法仅在UITextFields上禁用暗模式设置,而不是在其他元素上禁用暗模式设置?
事实证明,Apple提供了一种使用以下(Objective-C)在各种元素(甚至整个应用程序的UIWindow)上覆盖此方法的方法:
if (@available(iOS 13.0, *)) {
textField.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}
我通过swizzle将其应用于所有UITextFields
事实证明,Apple提供了一种使用以下(Objective-C)在各种元素(甚至整个应用程序的UIWindow)上覆盖此方法的方法:
if (@available(iOS 13.0, *)) {
textField.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}
我通过swizzle将其应用于所有UITextFields