2010-11-03 120 views
1

我想添加更多的填充到我的NSTableView中的列邊距(即在列左側和列文本之間的更多空白)。如何在NSTableView中設置列邊距?

調用setIntercellSpacing爲行做了訣竅,但它不會影響列標題邊距。誰能提供解決方案?

感謝

回答

0

我先說這是一個有點古怪,有表格的列標題單元格文本之間的利潤,不過這只是我的看法。

據我所知,沒有API支持的方法可以做到這一點。你可以通過詢問列的頭部單元格(這是NSTextFieldCell的一個子類),設置它的屬性字符串值(通過-setAttributedStringValue:)來達到效果。您可能還必須將-setAllowsEditingTextAttributes:設置爲YES,但我不確定。

另一種方法是繼承NSTableHeaderCell並覆蓋-titleRectForBounds:傳遞矩形超級返回的寬度內置副本。然後您必須通過-setHeaderCell:來替換列標題單元格。

+0

嗨約書亞 - 感謝您花時間提供答案。我懷疑那不是一個簡單的解決方案。關於它「怪異」,我只是試圖讓它看起來像一個Finder窗口,當它處於「列表」模式時。 – Mark 2010-11-04 17:30:30

+0

你的觀點很好。我甚至沒有注意到這種行爲。然後再次,我通常在列視圖。 :-) – 2010-11-04 18:04:55