2012-10-17 84 views
0

下,我想自定义NSTableView的,为了做到这一点,我已经实现了以下方法:点击的NSTextField

-(NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ 

    NSImageView *cellImage = [[NSImageView alloc] initWithFrame:NSMakeRect(0, 0, 229, 51)]; 
    cellImage.image = [[NSImage alloc] initByReferencingFile:[[NSBundle mainBundle] pathForImageResource:@"list_cell_secetion_background.png"]]; 

    NSView *view = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 229, 51)]; 

    NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 10, 150, 30)]; 
    [textField setStringValue:[[_objects objectAtIndex:row] description]]; 
    [textField setBezeled:NO]; 
    [textField setDrawsBackground:NO]; 
    [textField setEditable:NO]; 
    [textField setSelectable:NO]; 

    if(row == selectedCell) [view addSubview:cellImage]; 

    [view addSubview:textField]; 

    return view; 
} 

所以它工作得很好,直到你点击其中的标签。然后它不会发生任何事情。 我想点击单元格中的任何地方,正确选择。

回答

1

禁用文本框将允许用户点击文本框下方。

[textField setEnabled:NO];