У меня есть UITextField, в котором пользователь должен ввести предложение, которое мы просим пользователя ввести. Итак, предложение напечатать нам уже известно. В середине предложения пользователь должен тайно передать сообщение. Это можно сделать, набрав несколько букв уже известного предложения, а затем набрав «&», а затем «WhatEverMessageUserWantsToPass» и «&» в конце.
Подвох заключается в том, что в тот момент, когда пользователь нажимает «&», все, что он вводит после этого, не должно отображаться, вместо этого каждая буква, которую он вводит после этого, должна быть заменена буквой в уже известном предложении.
Например:
Строка - В каком городе я жил 2 года назад?
Типы пользователей - Какой город di&Deteroit&n 2 да
UITextField должен показывать - В каком городе я жил 2 года
Часть между двумя «&» по сути является ответом сама по себе, поэтому я не хочу, чтобы она отображалась в текстовом поле.
Мой подход в настоящее время:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
var addString = String(self.character[self.textLength])
var start = textField.text.endIndex // Start at the string's end index as I only want the most recent character to be replaced
var end = textField.text.endIndex // Take the string's end index as I only want one character to be changes per type
var nextRange: Range<String.Index> = Range<String.Index>(start: start,end: end)
textField.text.stringByReplacingCharactersInRange(nextRange, withString: addString)
return true
}
Однако в настоящее время это, похоже, не заменяет никакую букву. Пожалуйста, помогите, если кто-нибудь знает реализацию. Спасибо