2015-10-07 4 views
2

Я разрабатываю небольшое приложение OS X, которое состоит из двух объектов NSTextView, и каждый из них завернут NSScrollView.Синхронизировать два NSScrollViews

Я последовал шаги, упомянутые в Apple Mac Developer Library (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/NSScrollViewGuide/Articles/SynchroScroll.html)

Это похоже на работу ... ну, по крайней мере, когда пользователь прокручивает вручную, выполняя обычные жесты прокрутки. Но синхронная прокрутка не работает, когда пользователь вводит много текста в NSTextView, что заставляет ScrollView прокручивать вниз.

Синхронизированное (и, следовательно, прослушивание) прокрутка вниз прокручивается на короткое время, а затем возвращается в начало текстового вида.

Кто-нибудь знает, почему это может случиться?

+0

Экспресс-тест (OS X 10.10). Что вы изменили? Какой текст выше? – Willeke

+0

Текст не выше. Второй (синхронизированный) TextView просто прокручивается назад, когда я добавляю новую строку в первый TextView – Alex

ответ

0

Я нашел решение.

Проблема возникает, когда строковое значение TextView (находящегося в синхронизированном ScrollView) изменяется программно.

Я добавил вызов как [self synchronizedViewContentBoundsDidChange:nil];, как только я изменил значение строки, и это работает.

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

Смежные вопросы