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