如何更改NSSegmentedControl的高度

Cor*_*ory 6 cocoa nssegmentedcontrol nscell

我试图增加NSSegmentedControl的高度,超过25px"常规"控件大小.我将NSSegmentedCell子类化,我明白我有两种方法可以使用.

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

- (void)drawWithFrame:(NSRect)frame
               inView:(NSView *)view
Run Code Online (Sandbox Code Playgroud)

如果我在IB中放置一个分段控件,那么在我的NSSegmentedCell子类中覆盖上面的方法.除外,传入的帧和视图基于IB中分段控件的高度.所以,我不知道从哪里开始.

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

Sup*_*tar 1

默认情况下NSSegmentedControl不允许您调整其绘制高度。为此,您必须将其子类化(和NSSegmentedCell)并用您自己的绘图函数覆盖其绘图函数。