Я работаю над текстовым редактором для iOS, используя UITextView
вместе с NSAttributedString
. Он будет работать аналогично традиционным (т. е. выбрать область, нажать кнопку и применить этот эффект к этой области, сохраняя при этом любые другие атрибуты текста.
К сожалению с NSAttributedString
не все из них можно настроить самостоятельно. Некоторые из них (по крайней мере, жирный шрифт, шрифт и размер шрифта) требуют передачи UIFont
, который установит все эти атрибуты для региона (даже если вы хотите установить только один). Учитывая, что одна область может включать несколько граней и размеров, это приведет к тому, что наивный подход нарушит большую часть существующего форматирования.
Есть ли рекомендуемые средства для этого? Я думаю, что мой единственный вариант будет состоять в том, чтобы перебирать атрибуты для региона, к которому я хочу применить его, группировать его в фрагменты, которые имеют те же другие атрибуты шрифта, а затем применять его к каждому фрагменту по отдельности.