Я пытаюсь создать NSTextView, который может принимать «размеченный» ввод, который автоматически переводится в красивый текст в стиле RTF при вводе пользователем.
Идея состоит в том, чтобы позволить пользователю вводить текст в формате «обычный текст», но «украсить» его на месте, например,
H1 A quick list:
* first item
* second item
будет переведено в первую строку со шрифтом заголовка, за которым следует маркированный список.
Я нашел множество потенциальных способов сделать это, но текстовая система невероятно сложна (по причине), и я не хочу начинать «готовить самостоятельно», если уже есть что-то подходящее встроенное. Кстати, я был бы доволен API только для Snow Leopard.
Первое, о чем я подумал, это " детекторы данных ", но я не могу найти публичный API для этого.
Дойдя до конца пути, я обратился к новому " API источников ввода текста ". Это делает все виды вещей, но раздел «Управляемые данными методы ввода» в презентации WWDC 2006 «Взять на себя ответственность за ввод текста» кажется мне интересным. Однако, помимо этого слайда, ничего не существует нигде, так что это опять тупик.
Наконец, я взглянул на класс NSSpellChecker , который также должен предлагать функции завершения и автоматические исправления ... но я не уверен, как это можно изменить для моих требований.
В настоящий момент у меня возникает соблазн просто пересмотреть весь NSTextStorage вручную и внести изменения самостоятельно, когда пользователь перестает печатать ... но я уверен, что вокруг этого форума есть более умные головы ...
Буду очень признателен за любые советы или указатели в правильном направлении.