Выбор текста теряется, когда VoiceOver выбирает элемент. Вы должны выделить текст после фокусировки VoiceOver на элементе.
На didBeginEditing вы можете проверить, если UIAccessibility.isVoiceOverRunning
, а затем вы выделите текст через одну секунду.
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {
self.textField.selectAll(nil)
}
Не лучшее решение, но оно работает. Кроме того, для человека с проблемами зрения, я не думаю, что это полезно, чтобы выделить весь текст, в конечном итоге вы должны сообщить пользователю, что текст выбран.