Поэтому я разрабатываю расширение клавиатуры iOS и хочу, чтобы текст моей кнопки возврата изменился в соответствии с returnKeyType
, однако, похоже, этот API не работает должным образом с расширением клавиатуры.
У меня есть приложение для хостинга с некоторым UITextField, и когда я использую встроенную английскую клавиатуру, его клавиша возврата правильно изменяется в зависимости от returnKeyType
, которое я установил для UITextField.
Но для собственного расширения клавиатуры я запускаю отладчик и всегда вижу
self.textDocumentProxy.returnKeyType = .default
Моя логика очень проста, у меня есть функция для изменения возвращаемого текста
public func changeReturnText() {
var text: String
let returnKeyType = self.textDocumentProxy.returnKeyType
SpeedLog.log("Return Key Type: \(returnKeyType?.rawValue ?? -1)")
switch returnKeyType ?? .default {
case .continue:
text = "繼續"
case .done:
text = "完成"
case .go, .google, .yahoo:
text = "前往"
case .search:
text = "搜尋"
case .next:
text = "下一個"
case .send:
text = "送出"
default:
text = "換行"
}
returnKey.text = text
}
Затем я вставил эту функцию в свой init()
Мне удалось запустить отладчик против этого, но этот self.textDocumentProxy.returnKeyType
всегда возвращает .default
, даже если я установил для UITextField returnKeyType
значение .done
, в то время как встроенная английская клавиатура работает нормально.
Любая идея? Очень признателен.