首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >圆角NSTableView

圆角NSTableView
EN

Stack Overflow用户
提问于 2012-12-13 04:13:40
回答 1查看 1.8K关注 0票数 3

我正在尝试自定义我的应用程序的UI,我希望我的NSTableView有圆角。因此,我对NSTableView进行了子类化,得到了以下结果:

但是,当我填充表并选择一行时,所选内容将被绘制到边框上,如下所示:

我尝试在表视图绘图代码中添加一个剪辑,但它不起作用。有什么我能解决的建议吗?

编辑:

我在NSTableView中的绘图代码如下:

代码语言:javascript
复制
- (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的圆形框架内?

EN

回答 1

Stack Overflow用户

发布于 2014-06-19 15:12:52

我发现您可以在表视图的容器滚动视图上调用它。

代码语言:javascript
复制
self.scrollView.wantsLayer = TRUE;
self.scrollView.layer.cornerRadius = 6;

我只需要这些就行了。不需要子类。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13852830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档