Текст-заполнитель UITextField не читается в темном режиме iOS13 - PullRequest
0 голосов
/ 21 октября 2019

UITextField имеет текстовое свойство .placeholder для отображения информации до того, как текст был добавлен в поле, до сих пор он всегда был четким и видимым, но в iOS13 был введен темный режим, и теперь текст-заполнитель практически не читается вбелый UITextField (я явно делаю его белым через .backgroundColor = [UIColor whiteColor]).

Мой вопрос заключается в том, каковы некоторые практические решения, чтобы исправить это на протяжении всего моего проекта, я мог бы вручную изменить цвет заполнителя на любом UITextField, просто установив строку attributedPlaceholder, которая может занять некоторое время,Есть ли способ отключить настройки темного режима только в UITextFields специально, но не для других элементов?

1 Ответ

1 голос
/ 21 октября 2019

Оказывается, Apple предоставила способ переопределить это для различных элементов (или даже для всего окна вашего приложения) с помощью следующего (Objective-C):

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

Я применил его ко всем UITextFields черезswizzle, чтобы отключить ВСЕ в своем проекте, просто используйте это в своем методе appDelegate didFinishLaunching, но замените textField на _window

...