質問

列を動的に追加するテーブルビューがあります。どの列が必要になるか予測できないため、この方法で行う必要があります。

一部のコラムは、 チェックボックス しかし、アプリケーションを実行するときにそれらをクリックすることができません。列とチェックボックスは編集可能に設定されていますが、チェックボックスをクリックしてもチェックが設定されません。何かが足りないのでしょうか?

アップデート

チェックボックスの状態を設定する方法:

- (void)tableView:(NSTableView *)theTableView 
   setObjectValue:(id)theObject 
   forTableColumn:(NSTableColumn *)theColumn 
              row:(int)rowIndex
{
    if (theTableView == resultsTableView) {

        if ([[theColumn identifier] isEqualToString:CHCheckBoxColumnIdentifier]) {

            NSInteger state = [[theColumn dataCell] state];
            if (state == NSOnState) {
                [[theColumn dataCell] setState:NSOffState];
            } else {
            [[theColumn dataCell] setState:NSOnState];
            }

            /*
            NSLog(@"%@", theObject);
            NSLog(@"%@", theColumn);
            NSLog(@"%i", rowIndex);
            */
        }
    }
}
役に立ちましたか?

解決

あなたの列は、コントローラにバインドされているか、NSTableDataSourceプロトコルを使用していますか?私は後者を疑うが、あなたは指定する必要があります。

私の前提に行く:チェックボックスをクリックすると、-tableView:setObjectValue:forTableColumn:row:方法で何か他のものと同じように処理されます。あなたのオブジェクトは、ボタンの状態になります...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top