Подсветка синтаксиса в UITextView? - PullRequest
0 голосов
/ 11 апреля 2011

Мы все знаем, как XCode изменяет цвета определенных частей нашего кода, чтобы сказать нам, какой это тип объекта? (Например, синий для цифр, зеленый для комментариев и т. Д.)

Мне было интересно, как это было достигнуто. Я хочу сделать это в UITextView, но я буду делать свои собственные классы, если потребуется. Есть ли какие-нибудь полезные темы или руководства, связанные с этим?

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

UITextView не принимает более одного стиля текста, поэтому синтаксическое окрашивание невозможно с помощью элемента управления.

Вам придется самостоятельно отображать и редактировать с помощью инфраструктуры Core Text и протокола UITextInput.

Что касается фактической раскраски, есть некоторые редакторы с открытым исходным кодом, на которые, возможно, стоит взглянуть, например Fragaria .

Хотя это проект Cocoa, а не Cocoa Touch, он все равно должен быть вам полезен.

1 голос
/ 11 апреля 2011

Полагаю, вы ищете Core Text API .

Если вы хотите выйти за рамки SDK, Оливер Дробник написал несколько статей и кода о расширении NSAttributedString. Проверьте http://www.cocoanetics.com/2011/01/befriending-core-text/ и https://github.com/Cocoanetics/NSAttributedString-Additions-for-HTML

...