NSTableView圆角类似于UITableView组



我正在尝试创建一个圆角的NSTableView(很像iOS的Grouped样式的表视图)。然而,事实证明,这是异常困难的。

我试过使用CALayers:

// ...
self.wantsLayer = YES;
self.layer.masksToBounds = YES;
self.layer.cornerRadius = 10.0;
// ...

其适用于NSView子类而不适用于NSTableViewNSScrollView

我还试图覆盖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 s上不起作用。

我以前在StackOverflow上看到过一些"重复"的问题,但它们无法提供令人满意的解决方案。

NSTableView上的圆角有1个"正确"答案,似乎只是因为提问者改变了他的目标。这个问题促使我尝试NSBezierPath,但正如我所说,我似乎无法使用这种方法。

NSTableView圆角建议对NSCrollView进行子类化,但它对CALayers同样没有响应。

如有任何建议,我们将不胜感激。我想得到一个明确的答案,不仅是为了我自己,也是为了子孙后代。

我也面临着同样的制作圆角的问题,但没有得到答案。

最后,我用另一种方式做了这件事,我让表格的背景透明,在表格视图后面添加了4像素圆角的.png文件的图像(我想显示)。

通过这种方式,我展示了带有圆角的桌子。希望这个解决方案对你有效。

相关内容

  • 没有找到相关文章

最新更新