Точка вставки NSTextView рисует исключения позиции

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

Я просто установил allowNonContiguous Layout для NSTextView. layoutManager имеет значение true, и в этом проблема.

введите здесь описание изображения  введите описание изображения здесь

В редакторе я сначала ввожу N пустых строк, то есть нажимаю N раз, чтобы вернуться. Затем вернитесь ко второй строке нашего ввода и нажмите любую клавишу в тот момент, когда точка вставки исчезнет, ​​что сделает мою точку вставки неверной.

Вот моя демонстрация: https://github.com/iiiDD/TextViewDemo


person Simon    schedule 16.08.2019    source источник
comment
Разве я раньше не видел этот вопрос? Какую клавиатуру и какой язык и раскладку клавиатуры (системные настройки) вы используете? Какие-нибудь вспомогательные приложения, связанные с клавиатурой?   -  person Willeke    schedule 16.08.2019
comment
Что такое точка вставки, мигающая красная линия или двутавровый курсор? Что произойдет, если вы сделаете то, о чем говорите в вопросе, установив allowNonContiguousLayout для NSTextView.layoutManager в значение true, без подкласса NSTextView?   -  person Willeke    schedule 16.08.2019
comment
Я думаю, вы имеете в виду двутавровую балку. Двутавровая балка скрыта намеренно и не имеет ничего общего с прыгающей точкой вставки. Я думаю, что точка вставки подскакивает, когда символы преобразуются в другой символ, если использовалась другая (китайская?) Раскладка клавиатуры. Какая комбинация языка, региона, источника ввода и других настроек вызывает скачкообразную точку вставки? Вы пробовали Language English, Region United States, Input Source U.S. International - PC, без проверки орфографии, замены текста, умных кавычек и тире и без подкласса NSTextView?   -  person Willeke    schedule 17.08.2019
comment
Мы все играем на клавиатуре в Соединенных Штатах, и у нас одна и та же проблема.   -  person Simon    schedule 18.08.2019


Ответы (1)


У меня такая же проблема. Я подробно описал, как я исправил эту ошибку здесь: Курсор NSTextView не появляется при вводе текста в macOS 10.14

person Benjamin Pisano    schedule 16.08.2019
comment
Может не та же проблема. Потому что моя проблема в том, что когда точка вставки скрыта, появляется вводимый новый текст. - person Simon; 16.08.2019
comment
Не могли бы вы рассказать подробнее: какая у вас версия macOS? Ваш код работает правильно в macOS Mojave. Вы пытались вызвать updateInsertionPointStateAndRestartTimer (true) в TextStorage TextView? - person Benjamin Pisano; 16.08.2019
comment
Тоже бегаю на 10.14. Мы с друзьями обе версии 10.14. Я пробовал использовать метод таймера updateInsertionPointStateAndRestart. Конечно, можно исправить положение, но все равно будут мигать картинки. Если воспроизвести не получается, возможно, есть отклонение в работе. - person Simon; 16.08.2019
comment
Стоит отметить, что вам нужно нажать на клавиатуру во второй строке и в момент исчезновения курсора, чтобы воспроизвести это. PS: Я очень плохо говорю по-английски. - person Simon; 16.08.2019
comment
Пожалуйста, не размещайте ссылки на ответы, вместо этого отметьте вопрос как повторяющийся. - person Willeke; 17.08.2019
comment
@Willeke, я не думаю, что ты вообще разбираешься в проблеме. Это две разные проблемы. И его план я испробовал, но проблему не решил. - person Simon; 18.08.2019