Точка вставки NSTextView не мигает - PullRequest
0 голосов
/ 21 октября 2018

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

Я использую подкласс NSTextView для отображения текста.Я в ржавом Какао, так что я предполагаю, что что-то изменилось с появлением приложения и т.п.Что-нибудь нужно сделать, чтобы убедиться, что точки вставки мигают?Скорее всего, что я сломал, чтобы предотвратить периодическое обновление современным безвредным для батареи способом?

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

У меня та же проблема с NSTextView, и после нескольких тестов, кажется, что ошибка происходит с каждым базовым textView на macOS 10.14 для меня.

Я искал несколько исправлений в Интернете безрезультатно.Лучший обходной путь, который я нашел, - это установить делегат textView для себя.Затем на didProcessEditing вызовите updateInsertionPointStateAndRestartTimer в главном потоке следующим образом:

class CustomTextView: NSTextView {

    override func awakeFromNib() {
        super.awakeFromNib()

        // 1. Set the textStorage delegate
        textStorage?.delegate = self
    }

}

extension CustomTextView: NSTextStorageDelegate {

    func textStorage(_ textStorage: NSTextStorage, didProcessEditing editedMask: NSTextStorageEditActions, range editedRange: NSRange, changeInLength delta: Int) {
        // 2. On the main thread, update the insertion point
        DispatchQueue.main.async {
            self.updateInsertionPointStateAndRestartTimer(true)
    }

}
0 голосов
/ 21 октября 2018

ОК, на всякий случай это кусает кого-то другого: я перешел в темный режим.Видимо, точка вставки по умолчанию - белая, поэтому я не вижу ее на белом фоне.Поэтому мне нужно правильно поддерживать темный режим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...