我試圖創建一個帶圓角的NSTableView(很像iOS的Grouped
風格的表視圖)。 但是,這證明是非常困難的。NSTableView像UITableView組圓形角落
我試着使用CALayers
:
// ...
self.wantsLayer = YES;
self.layer.masksToBounds = YES;
self.layer.cornerRadius = 10.0;
// ...
該協會致力於NSView
子類,但不NSTableView
或NSScrollView
。
我也嘗試覆蓋drawRect:
,並使用bezierPaths。
NSBezierPath *rectPath = [NSBezierPath bezierPathWithRect: self.bounds];
[rectPath appendBezierPathWithRoundedRect: self.bounds xRadius: 10 yRadius: 10];
[rectPath addClip];
[super drawRect: rectPath.bounds];
我沒有測試過NSView
s此方法,但它不能正常工作,用於開發NSTableView
秒。
我以前在StackOverflow上看到過一些「重複」的問題,但他們還沒有能夠提供令人滿意的解決方案。
Rounded corners on NSTableView有1個「正確的」答案,看起來很簡單,因爲提問者改變了他的目標。這個問題給我提示嘗試NSBezierPath
s,但正如我所說,我似乎無法得到該方法的工作。
NSTableView rounded corners建議對一個NSScrollView進行子類化,但對CALayers
同樣沒有響應。
任何建議將不勝感激。我希望得到一個明確的答案,不僅僅是爲了我自己,而是爲了後代。
一個很好的建議。任何導致如何以編程方式做到這一點? – 2012-02-21 03:59:01
我一直在研究一個即將開源的庫來實現這一點。我會用我的結果更新我的問題。感謝您的正確方向! – 2012-02-22 23:40:53
@pcperini你有沒有得到一個解決方案?我需要在我的Mac應用程序中的相同的東西 – 2012-08-16 00:05:44