У меня есть подкласс UIViewController
, чтобы включить мою тематическую стратегию.Обнаружить, когда UITextFiled нарисован
То есть, все мои UIViewControllers
продлить мою версию под названием MyUIViewController
, который имеет override
на viewWillLayoutSubviews
. Поэтому, когда страница загружается, я могу вызвать мой метод setupView
, который будет правильно устанавливать для меня мой фон и другие стили и анимации.
Я сделал то же самое для своего UITextField
. Однако проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти метод в классе UITextField
, который вызывается каждый раз, когда появляется представление.
Основной вопрос: что такое UITextFields
viewWillLayoutSubviews
или viewDidLoad
.
Некоторые решения:
В том случае, если нет ничего, что вызывается у меня есть следующие решения whihc я не очень нравится.
Используя
ViewController
, перебирать все подвиды, что контроллер представления имеет, и если данный вид является типомUITextField
, вызвать статический метод в моем расширении его установить свой стильРегистрации мой подкласс
UITextField
с центром уведомлений, и когда я меняю тему, отправьте уведомление.
Я протестировал оба метода из выше, и они работают, однако они не так хорошо, как имеющие класс сам по себе делать то, что он должен делать, когда речь идет в представлении.
Чтобы сделать это, я хотел бы знать, есть ли способ, который я могу переопределить в классе UITextField
, который будет уведомлять меня каждый раз, когда вид оживает.
Пользователи могут выбрать «Тема», которую они хотели бы иметь в своем приложении. В настоящее время это означает цвет шрифта и фона. Это означает, что мне нужно изменить шрифт, цвет шрифта, размер шрифта и цвет границы. Я хотел бы услышать, если у вас есть другой подход к этому. Мне это тоже кажется сложным. – Cripto
Я обновил ответ – Andrea
Мне потребовалось некоторое время, чтобы попробовать свой ответ. Может подтвердить, что он работает. – Cripto