2009-05-11 5 views
6

Приветствия,NSTextView не обновляется должным образом при прокрутке

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

http://img216.imageshack.us/img216/8193/picture13s.png

Благодаря

+0

Может кто-нибудь объяснить, почему этот вопрос был приостановлен? Мне кажется, что это разумный вопрос. –

+0

dw Я поддержал счетчик: P +1 –

ответ

6

Установили ли вы setDrawsBackground и copiesOnScroll для NSScrollView или NSClipView?

Первое, что я хотел бы предложить, отключив «рисует фон» свойство NSScrollView:

[myScrollView setDrawsBackground:NO]; 

Обратите внимание, что это должно быть установлено на NSScrollView и не на встроенном NSClipView.

Следующая выдержка из documentation может иметь отношение:

Если ваш NSScrollView заключает в NSClipView отправки setDrawsBackground: сообщение с параметром NO к NSScrollView имеет дополнительный эффект отправки на setCopiesOnScroll: сообщение NSClipView с параметр NO. Побочным эффектом отправки сообщения setDrawsBackground: непосредственно на NSClipView было бы появление «следов» (остатков предыдущего рисунка) в представлении документа по мере его прокрутки.

+1

Почему downvote? –

+4

Я просто столкнулся с этой проблемой. Установка '[scrollView setDrawsBackground: YES]' исправлена ​​проблема с артефактом. В других новостях, это очень странное чувство, чтобы найти свой собственный ответ при поиске решения :) –

2

Похоже, текстовое поле даже не в прокрутке-зоне ... Вы уверены, что что-то разве перекрывая его?

+0

Я не уверен, нет. Если я прокручу вниз, текст появится, выровненный с нижней частью элемента управления прокруткой. Мусор исчезнет, ​​заменяется четким визуализацией текста. – EightyEight

+0

Вы попробовали переустановить свой xib? Иногда это помогает мне. – 2009-05-28 11:49:00

0

У меня была такая же проблема некоторое время назад. Я не помню, как я это решил.

Попробуйте поместить NSTextView в другое представление, если супервизор является настраиваемым представлением. Просто чтобы посмотреть, что произойдет.

+0

Я отдам это. Хорошо знать, что я не единственный с этой проблемой. – EightyEight

1

У меня была аналогичная проблема - артефакты развиваются, когда NSTextView встроен в другое scrollview (т. Е. NSTableView).

Я фактически повернул на на setdrawsbackground, а затем добавил красивый цвет, чтобы он снова исчез.

-(void)awakeFromNib{ 
    NSScrollView *scroll = [self enclosingScrollView]; 
    [scroll setBorderType:NSNoBorder]; 
    [scroll setDrawsBackground:YES]; 
    [scroll setBackgroundColor:[NSColor windowBackgroundColor]]; 
} 

Это, в сочетании с событием ScrollWheel позвольте мне использовать NSTextView в NSTableView.

-(void)scrollWheel:(NSEvent *)theEvent{ 
    NSScrollView *scroll = [self enclosingScrollView]; 
    [[scroll superview] scrollWheel:theEvent]; 
} 
Смежные вопросы