NSCellのサブクラス化で実験していたtabbed interface、どう考えてもこの先苦労が待っているようなので、ここは一度NSViewで作ってみて、それからまた考えることにする。tabのドラッグアンドドロップとかするとなると、Cellだととんでもないことになる気がするので。
本日はここまで。
Cellの場合、-(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlViewの中で
NSBezierPath* path=[NSBezierPath bezierPathWithRoundedRect:cellFrame xRadius:3 yRadius:3];
としてから[path stroke]、[path fill]とすればそれらしい見た目になった(・・すごくいい加減な方法なんだけど、pathの外周の線がfillすると底辺だけ上書きされるというcocoaのCell描画の挙動に身を任せただけ)わけだが、Viewだとそうはいかない。
底辺以外をlineToPointでせっせと描いている。いつかはこういう作業もするだろうな、と思っていたのでいい勉強になる。こののっぺりした見た目をどうやったらもう少しかっこよくできるのだろうか・・。
今のところ、Tab本体を描画するクラスと、それをsubViewで管理するTabBarという2つのクラスで作っていこうとしてみている。
0 件のコメント:
コメントを投稿