Атрибуты UITextView typingAttributes игнорируются, если слово исправлено автоматически - PullRequest
0 голосов
/ 02 августа 2020

Я создаю UITextView, где пользователь может изменить стиль текста (основной, жирный, заголовок и т. Д. c.). Поэтому я применяю пользовательский NSAttributedString.Key, чтобы отслеживать и позже читать стиль текста, и я использую UItextView.typingAttributes, чтобы определить стиль текста, который впоследствии вводится пользователем. Я понял, что typingAttributes переустанавливается каждый раз при изменении выбора. Поэтому я переустановил свои атрибуты typingAttributes с помощью метода textViewDidChangeSelection (который имеет смысл для меня, поскольку мне нужно определить текущий стиль и соответствующим образом обновить будущие атрибуты typingAttributes).

Теперь единственная проблема, которая у меня есть, заключается в том, что когда слово изменяется с помощью автокоррекции (например, при неправильном написании), typingAttributes не присваивается. Вот как я его назначаю:

func textViewDidChangeSelection(_ textView: UITextView) {
    textView.typingAttributes = [.textStyle: TextStyle.body, .font: UIFont.systemFont(ofSize: 16)]
}

Есть идеи, почему? Спасибо!

...