我正在尝试增加NSSegmentedControl的高度,超过25px的"Regular"控件大小。我子类化了NSSegmentedCell,我知道我有2种方法可以使用。
- (void)drawSegment:(NSInteger)segment
inFrame:(NSRect)frame
withView:(NSView *)controlView
- (void)drawWithFrame:(NSRect)frame
inView:(NSView *)view
如果我在IB中放置一个分段控件,那么在我的NSSegmentedCell子类中重写上述方法。除了传入的框架和视图是基于IB中分段控件的高度,所以,我不确定从这里去哪里。
我是否必须子类NSSegmentedControl以及在我需要的高度绘制我自己的控件?然后使用NSSegmentedCell子类来处理片段?
默认的NSSegmentedControl
不允许您调整其绘制高度。要做到这一点,你必须子类化它(和NSSegmentedCell
),并用你自己的覆盖它的绘图功能。