喜我使用一個NSTableView它包含2列 甲乙變化圖像
A包含數據 B包含按鈕
我想當在內側的任何按鈕用戶點擊表視圖然後它的圖像必須被改變。
我如何添加tableview中單元格中的自定義按鈕:
NSButtonCell *buttonCell = [[[NSButtonCell alloc] init] autorelease];
[buttonCell setBordered:NO];
[buttonCell setImagePosition:NSImageOnly];
[buttonCell setButtonType:NSMomentaryChangeButton];
[buttonCell setImage:[NSImage imageNamed:@"uncheck.png"]];
[buttonCell setSelectable:TRUE];
[buttonCell setTarget:self];
[buttonCell setAction:@selector(deleteSongContent:)];
[[myTable tableColumnWithIdentifier:@"EditIdentifier"] setDataCell:buttonCell];
當我點擊該按鈕選擇方法被炒魷魚,但我不知道如何改變按鈕單元區域的圖像。
任何建議請!!!!!!!
編輯:
當我點擊按鈕的方法被調用,它是如何工作的:
-(void)selectButtonsForDeletion:(NSTableView *)tableView
{
NSEvent *currentEvent = [[tableView window] currentEvent];
int columnIndex = [tableView columnAtPoint:
[tableView convertPoint:
[currentEvent locationInWindow] fromView:nil]];
NSTableColumn *column = [[tableView tableColumns]objectAtIndex:columnIndex];
NSButtonCell *aCell = [[tableView tableColumnWithIdentifier:
[column identifier]]
dataCellForRow:[tableView selectedRow]];
NSInteger index = [[aCell title] intValue];
if(![selectedIndexesArray containsObject:[NSNumber numberWithInt:index]])
{
[aCell setImage:[NSImage imageNamed:@"check.png"]];
[selectedIndexesArray addObject:[NSNumber numberWithInt:index]];
}
else
{
[aCell setImage:[NSImage imageNamed:@"uncheck.png"]];
[selectedIndexesArray removeObjectAtIndex:[selectedIndexesArray indexOfObject:[NSNumber numberWithInt:index]]];
}
}
由於NSButtonCell繼承自NSCell,你不能用圖像初始化單元嗎? ' - (id)initImageCell:(NSImage *)anImage' – dianovich 2011-02-28 12:03:07
我有一些工作要做的按鈕點擊,所以我用NSButtonCell – Swati 2011-02-28 12:10:38
我已編輯我的問題:該方法被解僱bt我無法獲得完美選定的按鈕單元格改變圖像 – Swati 2011-03-01 05:38:20