NSLayoutManager setAllowsNonContiguousLayout не помещает каретку - PullRequest
4 голосов
/ 01 ноября 2010

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

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

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

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

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

1 Ответ

2 голосов
/ 01 ноября 2010

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

...