0
我有一個NSButton我在NSTableView的細胞內,我想分配給它的動作和標籤有一個指標,所以我做:OSX:NSButton與標籤無法識別
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if([tableColumn.identifier isEqualToString:@"check"])
{
NSButton *button = (NSButton*)[cellView viewWithTag:100];
if (button == nil)
NSLog(@"button is null");
[button setTag:row];
[button setAction:@selector(SelectRow:)];
}
}
- (IBAction)SelectRow:(id)sender{
NSInteger index = [sender tag];
NSLog(@"index:%lu", index);
}
你可以看到我有一個以tag = 100開頭的NSButton:我將它設置在xib文件中,並將其更改爲其行值。 但我有一個按鈕,因爲它進入條件。 在IOS這工作很好,但在OSX不...爲什麼?
不要使用'sender.superview',因爲它遲早會破壞(你不擁有層次結構中的所有視圖)。討厭 - 尋找正確的超級觀點。不錯 - 創建一個自定義的子類,所以你不需要標籤或視圖搜索。 – Wain 2014-10-06 16:44:36
謝謝,它工作正常與「sender.superview」,但只與「發件人」... – CrazyDev 2014-10-07 07:59:45