Это не решение проблемы ОП, а сырая альтернатива
Я не занимался этим прежде, чем думаю, что вы могли бы получить это путем реализацииструктура данных стека в сочетании с обратным вызовом делегата UITextField textViewDidFinishEditing(textField: UITextField)
.Идея состоит в том, что для каждого изменения, которое пользователь вносит в текстовое поле, вы помещаете текущую атрибутивную строку в стек.Функция отменить вступает в игру, подключив кнопку к вашему стеку и вытолкнув последнюю атрибутивную строку и установив соответствующим образом свойство атрибута строки textfields.