6

25px の「通常の」コントロール サイズを超えて、NSSegmentedControl の高さを増やそうとしています。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 に答える