我有点陷入困境,似乎无法从苹果文档中解决这个问题。
我在NSTable列中有两个按钮,包含在NSTableCellView中。
我试图在代码中隐藏按钮,具体取决于行中对象的值。
获取值很好,但我无法弄清楚如何定位特定按钮,我无法将其绑定到插座,因为它在一个表中。我已经尝试了下面的代码,但是只是隐藏了整个NSTableCellView而不是特定的按钮,我也尝试将标识符更改为按钮,但这似乎也是这样。
if(selectedTweet.imageURL){
NSButton *imageButton = [tableView makeViewWithIdentifier:@"secondButtons" owner:self];
[imageButton setHidden:NO];
return imageButton;
} else {
NSButton *imageButton = [tableView makeViewWithIdentifier:@"secondButtons" owner:self];
[imageButton setHidden:YES];
return imageButton;
}
这显然比我制作它简单得多?非常感谢。
由于
加雷
答案 0 :(得分:1)
如果您使用CocoaBindings填充该表,则可以将按钮的“隐藏”属性绑定到Table Cell View/objectValue.imageURL
并使用NSIsNil
值转换器。根本不需要代码。
如果您使用的是老式的数据源,事情会变得更复杂。在这种情况下,您可以在对象中使用imageButton属性,并在NSTableViewDelegate的- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
方法中设置它。