我正在尝试增加 NSSegmentedControl 的高度,使其超出 25px“常规”控件大小。我对 NSSegmentedCell 进行了子类化,我知道我有 2 种方法可以使用。
- (void)drawSegment:(NSInteger)segment
inFrame:(NSRect)frame
withView:(NSView *)controlView
- (void)drawWithFrame:(NSRect)frame
inView:(NSView *)view
如果我在 IB 中放置分段控件,则在我的 NSSegmentedCell 子类中重写上述方法。异常(exception)的是,传入的框架和 View 基于 IB 中分段控件的高度。所以,我不知道从这里该去哪里。
我是否还必须继承 NSSegmentedControl 并在所需的高度绘制自己的控件?然后使用 NSSegmentedCell 子类来处理段?
最佳答案
默认的NSSegmentedControl
不允许您调整其绘制高度。为此,您必须对其(和 NSSegmentedCell
)进行子类化,并用您自己的函数覆盖其绘图函数。
关于cocoa - 如何更改 NSSegmentedControl 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25289928/