正如标题所说,我实际上想要从NSBrowser控件中删除边框。父母是NSView和NSControl。 NSBrowser本身没有可用的方法,父控件也没有。这个似乎完全没有记录。
关于删除边框的原因,因为它以编程方式停靠在另一个视图中,因此视图层次结构意味着已经存在边框。
有什么想法吗?
答案 0 :(得分:2)
NSBrowser使用NSBrowserCell来实现其接口。 这继承自NSCell。 NSCell应该提供您需要的方法。
来自NSCell类引用... 管理显示属性 - setBezeled: - isBezeled - setBordered: - isBordered - 是不透明的 - setControlTint: - controlTint - setBackgroundStyle: - backgroundStyle - interiorBackgroundStyle
答案 1 :(得分:2)
只需将其嵌入普通NSView
(IB中的“自定义视图”),并使浏览器的框架从包含视图边界的所有方向上“开始”1点。包含视图将剪切浏览器以消除边框。然后将包含视图的视图放入周围的视图层次结构中,而不是直接添加浏览器。
答案 2 :(得分:1)
删除它所包含的NSScrollView
上的边框。
答案 3 :(得分:0)
对于那些仍在寻找解决方案的人。 NSBrowser是NSView的子类。您可以将NSView图层的边框宽度设置为0:
(SWIFT)
self.layer?.borderWidth = 0
答案 4 :(得分:0)
现有的答案都不适合我。
NSView
中看起来是可以接受的解决方法,但是会限制浏览器。NSScrollView
不是NSBrowser
的超类。nil
。NSBrowserCell
与NSBrowser
的边界无关。使用borderType: NSBorderType
属性(与某些其他类相同),在Interface Builder中对其进行设置。在身份检查器(⌘ + ⎇ + 3 )中,添加到用户定义的运行时属性:
关键路径:borderType
类型:Number
值:0
(对应于NSBorderType.noBorder
)