2011-02-25 3 views
2

안녕하세요, 내 앱에서 NSTableView로 작업하고 있습니다.코코아를 사용하여 nstable보기에서 가로 격자 선 표시

행 수에 따라 눈금 선을 표시하려고하지만 행 수가 매우 적은 경우에도 많은 선을 표시합니다.

이것은 일반적인 현상입니까?

아니면 내가 잘못하고있는 것입니까? xib에서 수평 그리드 선 옵션을 확인했습니다.

코드를 사용하여이를 달성하는 방법을 이해할 수 없습니다.

+0

가능한 중복 http://stackoverflow.com/ 질문/5606796/행 그리드 - 라인 - 인 - 스터 블 - 전용 - - 행에 대한) –

답변

0

내가 귀하의 문제를 이해한다면 "예"라고 말할 수 있습니다. NSTableView를 설정하면 비어있는 경우에도 줄무늬가 채워질 것으로 예상됩니다.

나는 프로그래밍 방식으로 그 라인을 관리하고 싶다는 것을 알고 있습니다. NSTableView Class Reference에있는이 메소드 setGridStyleMask를 확인하십시오.

행운을 빈다.

2

지금까지 가장 잘 작동하는 것으로 확인 된 코드는 다음과 같습니다. 채워진 행에만 그리기 위해 원래 그리드 드로잉 코드를 속일 수 있습니다.

서브 클래스 NSTableView는, 필요하고 drawGridInClipRect 오버라이드 (override)하는 경우 : 다음과 같은 (NSRect)의 clipRect을 :

- (void)drawGridInClipRect:(NSRect)clipRect 
{ 
    NSRect lastRowRect = [self rectOfRow:[self numberOfRows]-1]; 
    NSRect myClipRect = NSMakeRect(0, 0, lastRowRect.size.width, NSMaxY(lastRowRect)); 
    NSRect finalClipRect = NSIntersectionRect(clipRect, myClipRect); 
    [super drawGridInClipRect:finalClipRect]; 
} 
[? 만 인구 행을 NSTableView는 그리드 라인을 그리기] (의
+0

나는 이것을하지 않아도 좋으므로 버그를 Apple에 작성했습니다. – Mark

관련 문제