Одним из решений, которое я использовал для решения этой проблемы, является изменение цвета текста на a, который будет отображаться в лупе (но может не выглядеть так же хорошо в общем виде) при редактировании, а затем его изменение на лучшее отображение цвета по окончании редактирования.
Он ведет себя так, как будто вы выделяете текст поля с визуальной точки зрения, и позволяет использовать предпочитаемый вами цвет для отображения введенных данных, когда они не редактируются.
Установите цвет на выделенный цвет, который будет иметь достаточную контрастность в лупе при didBeginEditing, затем измените его обратно на didEndEditing.
Еще один возможный подход, который я использовал в нескольких приложениях.
например.
- (void)textFieldDidBeginEditing:(UITextField *)textField {
textField.textColor = [UIColor colorWithRed:116.0/255.0 green:160.0/255.0 blue:246.0/255.0 alpha:1.0];
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
textField.textColor = [UIColor colorWithRed:224.0/255.0 green:224.0/255.0 blue:224.0/255.0 alpha:1.0];
}