itok's Lab

昔の開発ネタを記録として残してます

NSMatrixの動的生成

NSCell を行列表示してくれる NSMatrix を動的生成(要するにコードでプログラム)してみましょう。

まず、行列を生成する前に、matrix に含まれる NSCell がどの種類の cell かを指定しておきましょう。(既存の cell を登録するなら InterfaceBuilder でもできます)

[matrix setPrototype:cell];
    // -(void)setPrototype:(NSCell*)aCell;

で、行列の初期化。

[matrix renewRows:rows column:cols];
    // -(void)renewRows:(int)newRows columns:(int)newCols;
[matrix sizeToCells];
    // -(void)sizeToCells; ←含まれる cell にあわせてサイズ調整(これがないと新しい cell が表示されない)

あとは

-(id)cellAtRow:(int)row column:(int)column

なんかで各 cell にアクセスしたらいいんじゃないでしょうか。