#ios #swift #uitextfield #tvos #apple-tv
#iOS #swift #uitextfield #tvos #apple-tv
Вопрос:
У меня есть несколько стандартных UITextField с текстом-заполнителем. Например:
let emailTextField = UITextField(frame: CGRect(x: textFieldX, y: textFieldY, width: textFieldW, height: textFieldH))
emailTextField.tag = TV_SIGN_IN_TEXTVIEW_EMAIL
emailTextField.placeholder = "Email"
parentView.addSubview(emailTextField)
Когда я вхожу в экран, он выглядит так:
Я нажимаю на текстовое поле и вижу:
Если я затем нажму кнопку меню, ничего не введя, я получу:
Как показано выше, текст-заполнитель текстового поля теперь гласит «Удерживайте [микрофон] для диктовки» вместо «Email». Я проверил объект textfield и проверил текст-заполнитель, и он по-прежнему говорил, что для него установлено значение «Электронная почта», поэтому я не могу это исправить, просто сбросив заполнитель после ухода с клавиатуры. Кажется, что он все еще в фокусе. Фокусировка на другой кнопке не приводит к возврату к заполнителю, и фактически это может отображаться в нескольких текстовых полях одновременно. Есть ли какой-либо способ вернуть его к отображению моего текста-заполнителя?
Ответ №1:
Попробуйте установить тип клавиатуры в текстовом поле.
В вашем случае:
emailTextField .keyboardType = .Адрес электронной почты
Комментарии:
1. Это не вернуло заполнитель,= при выходе с клавиатуры. Он просто использует клавиатуру в стиле электронной почты и изменил ее, чтобы вместо этого сказать «Удерживайте [микрофон] для написания».
2. @ksiit Смогли ли вы устранить эту проблему?