NSLayoutManager setAllowsNonContiguousLayout неправильно ставит курсор

Если для setAllowsNonContiguousLayout установлено значение YES, если я выполню следующие шаги, я получу странное поведение:

  1. Выбрать весь текст в NSTextView
  2. Нажмите Backspace, чтобы удалить весь текст
  3. Введите несколько строк текста
  4. Попытка использовать backspace, чтобы снова удалить текст

На шаге 4 курсор перескакивает на строку выше и в кажущуюся случайной точку строки, но фактические глифы удаляются из правильного места.

Является ли несмежный макет немного экспериментальным/глючным? Если я выключу его, все будет работать так, как ожидалось.

Я отправлю отчет об ошибке в Apple, но видел ли кто-нибудь еще такое поведение и работал ли над ним?


person d11wtq    schedule 01.11.2010    source источник


Ответы (1)


Я думаю, что отчет об ошибке - правильный путь. Из того, что я слышал, непрерывный макет вызвал много головной боли у некоторых разработчиков, заставив их снова отказаться от этой функции из своего приложения. Как бы красиво это ни звучало, похоже, что работать правильно — чертовски сложно даже для Apple.

person Max Seelemann    schedule 01.11.2010
comment
Спасибо, я подал это в Apple # 8619148. - person d11wtq; 02.11.2010