我試圖自定義我的應用程序的用戶界面,我希望我的NSTableView具有圓角。所以我子類NSTableView的,並得到這個:帶圓角的NSTableView
然而,當我填寫表格,並選擇一排,選擇上繪製的邊界是這樣的:
我我試圖在表格視圖繪圖代碼中添加一個剪輯,它不起作用。有關我如何解決這個問題的任何建議?
編輯:
我在NSTableView的繪圖代碼如下:
- (void)drawRect:(NSRect)dirtyRect {
[NSGraphicsContext saveGraphicsState];
NSRect frame = NSMakeRect(0.0, 0.0, [self bounds].size.width, [self bounds].size.height-1.0);
[[NSBezierPath bezierPathWithRoundedRect:frame xRadius:3.6 yRadius:3.6] addClip];
[super drawRect:dirtyRect];
[NSGraphicsContext restoreGraphicsState];
}
實際圓形框架在NSScrollView的drawRect方法繪製。有趣的是,這並剪輯的第一個和最後一個行的選擇:
而不是在表中滾動:
所以問題仍然存在:我如何剪切NSScrollView的圓形框架內的所有繪圖?
你會發布你的代碼,做剪輯? – paulmelnikow
你重寫了'drawRect'和'initWithRect'嗎? –
@FireLizzard我會在initWithRect方法中放什麼?我在上面的NSTableView中發佈了我的drawRect方法。框架的實際繪圖發生在NSScrollView的drawRect方法中。 – danjonweb