Я бы хотел, чтобы пользователь разделял UITextField при нажатии клавиши ввода в режиме редактирования. Что-то вроде:
foo | bar (вертикальная черта - курсор) - теперь я нажимаю enter
и я хотел бы создать новый UITextField внизу, который должен выглядеть следующим образом:
Foo
бар
Но я не могу получить позицию курсора, когда нажимаю ввод. Я попробовал этот фрагмент:
if let selectedRange = field.selectedTextRange {
let cursorPosition = field.offset(from: field.beginningOfDocument, to: selectedRange.start)
print("\(cursorPosition)")
}
Но возвращается 6
вместо 3
. Похоже, что нажатие клавиши Enter сначала заставит курсор перейти к концу текущего слова, а затем выполнит мой фрагмент. Я попытался поместить его в textFieldShouldReturn
, textFieldShouldEndEditing
, а также в случае UITextField Did End On Exit
с теми же результатами.
Есть ли способ предотвратить скачок курсора или есть другой способ его решения? Я новичок в разработке для iPhone, поэтому я могу упустить что-то очевидное ...