NSTextView: копирование элемента списка не включает форматирование списка при вставке - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть базовое приложение для Mac с набором NSTextView («Расширенный просмотр содержимого документа» в Интерфейсном Разработчике), но я также наблюдал это поведение в TextEdit:

  1. Создать новыймаркированный список из 3 элементов
  2. Выберите и скопируйте один элемент списка
  3. Вставьте элемент списка в тот же документ

→ Вставленныйэлемент теряет форматирование списка, т. е. когда я нажимаю клавишу Return в конце, новый элемент списка не добавляется автоматически.

→ Когда я выбираю два или более элементов списка, он работает правильно.

Вотбыстрое видео:

NSTextView pasting a list item

Другие наблюдения

Я тестировал ту же процедуру в Scrivener (что, я считаю,также использует NSTextView), и здесь при копировании одного элемента списка помещаются правильные атрибуты списка форматирования в буфер обмена.

Я проверял буфер обмена, и когда я копировал один элемент списка, действительно, содержимое RTF отличается по сравнению сScrivener.

NSTextView (один элемент скопирован) :

\f0\fs36 \cf0   \'95    Regular list item}

Scrivener (один элемент скопирован) :

\f0\fs32 \cf0 {\listtext    \uc0\u8226  }Regular list item}

Обратите внимание, как Scrivener размещает правильное форматированиев буфере обмена.

NSTextView (скопированы два элемента) :

\f0\fs36 \cf0 {\listtext    \uc0\u8226  }Regular list item\
{\listtext  \uc0\u8226  }Another list item}

При копировании двух элементов списка работает должным образом.

Чего мне не хватает?Или это ошибка / особенность, и пользователи Scrivener работают над этим в своем приложении (например, обнаружение, когда копируется один элемент списка и исправление его атрибутов)?

1 Ответ

0 голосов
/ 20 ноября 2018

Это «особенность».

Попробуйте поместить курсор в начало (а не в конец строки) и перетащить вниз, чтобы выбрать строку, скопировать, вставить - вы получите возврат вконец вставки, но если вы вернетесь к концу вставленной строки и нажмете клавишу возврата, вы обнаружите, что вы получите форматирование списка.

Сведения о форматировании для "абзаца" прикреплены к символам новой строки,также, когда текст копируется, включается информация о форматировании для начала выделения.

Источник TextEdit доступен в Apple , связанная версия имеет несколько лет и архив документации Apple,вы можете найти более новую версию в новой «улучшенной» документации, предоставляемой Apple, или потерять свой здравый смысл ;-(. Если вы прочитаете ее, вы сможете узнать, как справляются с этими функциями / особенностями текстовой системы.

НТН

...