我使用 Storyboard 来设置 NSScrollView,但我找不到任何可以禁用滚动条背景的选项。关于如何实现这一点的任何想法?
问问题
795 次
3 回答
3
基本上这背后的想法是 NSScroller 的子类,然后相应地进行更改。
我有同样的要求,所以我对它进行了子类化并进行了如图所示的更改。目标 c 代码是在在线工具的帮助下转换的,因此对错误表示歉意并看看。
这可能会有所帮助。
// Converted to Swift 4 by Swiftify v4.1.6766 - https://objectivec2swift.com/
// GridScroller.h
// Created by Vikram on 08/09/16.
import Cocoa
class OpaqGridScroller: NSScroller {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
NSColor.clear.setFill()
dirtyRect.fill()
// whatever style you want here for knob if you want
knobStyle = .dark
}
}
于 2018-07-18T12:27:47.693 回答
1
这个解决方案对我有用。
class OpaqueGridScroller: NSScroller {
override func draw(_ dirtyRect: NSRect) {
// NSColor.clear.set()
// dirtyRect.fill()
self.drawKnob()
}
}
于 2019-09-18T15:49:35.410 回答
1
您可以尝试覆盖绘制滚动条矩形
override func draw(_ dirtyRect: NSRect) {
NSDrawWindowBackground(bounds);
self.drawKnob()
}
您始终可以通过在之前设置它来绘制自定义矩形颜色
override func draw(_ dirtyRect: NSRect) {
NSColor.clear.set()
__NSRectFill(dirtyRect)
self.drawKnob()
}
于 2018-06-27T11:50:53.970 回答