2011-02-25 79 views
2

您好我正在使用NSTableView在我的應用程序。使用可可在nstable視圖中顯示水平網格線

我想根據行數顯示網格線,但即使行數非常少,它也會顯示許多行。

這是一種常見的行爲?

或者我做錯了什麼? 我已經檢查了xib的水平網格線選項。

無法理解如何使用代碼來實現此目的。

+0

[η畫出NSTableView的網格線只對填充的行(可能的複製http://stackoverflow.com/問題/ 5606796 /繪製網格線在nstableview只爲填充行) – 2016-08-23 01:21:14

回答

0

如果我理解你的問題,我可以說:「是」。從NSTableView中可以預料,即使在設置爲空時也可以實現條紋。

我知道你也想通過編程來管理這些行。考慮檢查這個方法setGridStyleMask:在NSTableView Class Reference

祝你好運。

2

到目前爲止,我發現最適合我的是以下代碼。 只是愚弄原始網格繪圖代碼只繪製填充行。

子類NSTableView的,如果需要和覆蓋drawGridInClipRect:(的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]; 
} 
+0

我寫了一個錯誤,蘋果,因爲你不應該這樣做。 – Mark 2013-04-25 01:34:24