NSMatrixで横一列にして表示できるのでは?と思ってNSMatrixについて調べ始めたが、これが全然わかんない。(^^;)xcatsan師匠の解説の通りにやってみようとしたのだけれど、Cellが描画されずに悶絶する。
どーもNSMatrixは鬼門だ。MacRubyの時も挫折したし。
試しにNSViewのカスタムクラスの中で、
MyCell *cell=[[MyCell alloc]initWithTitle:@"first"]; [cell drawWithFrame:NSMakeRect(10, 0, 100, 20) inView:self];とやってみたら簡単にNSCellが描画された。なーんだ、NSMatrix使わなくてもいいじゃない。
で、少しコードを書いた結果がこれ。
相変わらずのインチキコードなんだけど、それらしくなることはなるな。
ところがNSCell、軽量なクラスだけあってイベント処理ができない(らしい)。mouseDownもNSCellを保持しているView側で全部処理する必要がある。
そこでやっぱりxcatsan師匠のサンプルコードを読みながらイベント処理を付け加えようとしたら、なんだかよくわからないエラーが発生して難儀しているのが現在。
うーん、NSCellではなくViewでやっちゃおうか。(^^;)
(追記)
恥ずかしながらエラーの原因が判明。
tabs=[[NSMutableArray alloc]initWithCapacity:1];としなければいけないところを、
tabs=[NSMutableArray initWithCapacity:1];としていた。orz。その後は順調。
0 件のコメント:
コメントを投稿