怒りのプログラミング

こんなポンコツがプログラマとして生活していることに驚きを禁じえません。 *ご指摘等あればお気軽にコメントください

NSTableViewに動的にViewを追加するときにレイアウトを指定したい

ちょっと時間がないので箇条書きでメモしておく。

全然わからなくて、半日以上詰まった。もー!

NSButtonをテーブルビューにセットしたいが、変な位置にボタンが設定されちゃうので、ダミーのNSViewを作り、そのダミーのビューのサブビューとしてNSButtonを設定する。これでframeの設定が反映された。

  • tableView:viewForTableColumn:row:メソッド内で

  • NSButton *button = [[NSButton alloc] initWithFrame:NSMakeRect(10, 10, 30, 30)];

  • NSView *buttonViewBase = [[NSView alloc] init]; // ダミーのビュー

  • buttonに対して色々設定する

  • [buttonViewBase addSubView:button];

  • return buttonViewBase; ← tableView:viewForTableColumn:row:メソッドの戻り値に設定

たぶんねー、これ間違ってると思うんだわ。

でも他にいい方法がわからないし。Appleのドキュメント(View Programming Guide)読んでも見つかんねー!


また今度追記します。 もう一回リファレンス読んだほうがいいような気がしてきた。