2009-05-11 5 views
6

인사말,스크롤 할 때 NSTextView가 제대로 새로 고쳐지지 않습니다.

상당량의 텍스트가있는 NSTextView가 있습니다. 그러나 스크롤 할 때마다보기가 제대로 업데이트되지 않습니다. 보기의 상단 또는 하단에 남아있는 일부 아티팩트가 있습니다. 보기 자체가 자주 새로 고쳐지지 않는 것으로 보입니다. 매우 느리게 스크롤하면보기가 올바르게 업데이트됩니다. 보기에 테두리를 추가하면 모든 것이 완벽하게 작동합니다. 경계없는보기가 문제가되는 것입니다. 여기에 스크린 샷에 대한 링크입니다 : 당신이 그것을 중복 밤은 확실히 뭔가

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

감사

+0

아무도 왜이 질문은 downvoted되었습니다 설명 할 수 있습니까? 그것은 나에게 합리적인 질문처럼 보입니다. –

+0

dw 내가 카운터 upvoted : P +1 –

답변

6

NSScrollView 또는 NSClipView 중 하나에 setDrawsBackgroundcopiesOnScroll 속성을 설정 했습니까?

[myScrollView setDrawsBackground:NO]; 

이는 NSScrollView에 설정해야합니다, 그리고 임베디드 NSClipView하지 : 내가 제안

우선하여 NSScrollView의 속성을 "배경을 그립니다"해제된다.

documentation의 다음 발췌 관련이있을 수 :

당신이 NSScrollViewNSScrollView-NO의 매개 변수와 함께 setDrawsBackground: 메시지를 보내는 NSClipView을 둘러싸는 경우와 NSClipViewsetCopiesOnScroll: 메시지를 전송하는 추가 효과가 있습니다 NO의 매개 변수 setDrawsBackground: 메시지를 NSClipView에 직접 보내는 부작용은 스크롤 할 때 문서 뷰에 "산책로"(이전 그림의 흔적)가 나타나는 것입니다.

+1

왜 downvote? –

+4

나는이 정확한 문제를 직접 만났다. '[scrollView setDrawsBackground : YES]를 설정하면 아티팩트 문제가 해결되었습니다. 다른 뉴스에서는 솔루션을 검색 할 때 자신의 답변을 찾는 것이 매우 이상한 느낌입니다. :) –

2

텍스트 필드처럼 보이는이 ... 심지어 스크롤 영역에 있지 있습니까?

+0

나는 확실하지 않다, 아니. 아래쪽으로 스크롤하면 스크롤 컨트롤의 아래쪽에 정렬 된 텍스트가 나타납니다. 쓰레기가 사라지고 텍스트가 선명하게 렌더링됩니다. – EightyEight

+0

xib을 다시 설정해 보셨습니까? 가끔 그게 도움이됩니다. –

0

나는 몇 시간 전에 똑같은 문제가 있었다. 어떻게 해결했는지 기억이 안납니다.

수퍼 뷰가 사용자 지정보기 인 경우 NSTextView를 다른보기에 배치하십시오. 무슨 일이 일어날 지 알기 만하면됩니다.

+0

나는 그것을 줄 것이다. 나는이 문제가있는 유일한 사람이 아니라는 것을 알기 좋습니다. – EightyEight

1

NSTextView가 다른 스크롤 뷰 (예 : NSTableView)에 포함되어있을 때 유사한 문제가 발생했습니다.

실제로는 의 setdrawsbackground로 설정 한 다음 멋진 색을 추가하여 다시 사라지게했습니다.

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

scrollWheel 이벤트와 함께 사용하면 NSTableView에서 NSTextView를 사용할 수 있습니다.

-(void)scrollWheel:(NSEvent *)theEvent{ 
    NSScrollView *scroll = [self enclosingScrollView]; 
    [[scroll superview] scrollWheel:theEvent]; 
} 
관련 문제