6

我正在尝试增加 NSSegmentedControl 的高度,超过 25 像素的“常规”控件大小。我对 NSSegmentedCell 进行了子类化,我知道我有 2 种方法可以使用。

- (void)drawSegment:(NSInteger)segment
            inFrame:(NSRect)frame
           withView:(NSView *)controlView

- (void)drawWithFrame:(NSRect)frame
               inView:(NSView *)view

如果我在 IB 中放置分段控件,则在我的 NSSegmentedCell 子类中覆盖上述方法。作为例外,传入的框架和视图基于 IB 中分段控件的高度。所以,我不知道从这里去哪里。

我是否也必须继承 NSSegmentedControl 并在所需高度绘制我自己的控件?然后使用 NSSegmentedCell 子类来处理段?

4

1 回答 1

1

默认NSSegmentedControl不允许您调整其绘制的高度。要做到这一点,你必须继承它(和NSSegmentedCell)并用你自己的覆盖它的绘图函数。

于 2016-10-19T20:00:21.897 回答