1

我有点卡住了,似乎无法从苹果文档中解决这个问题。

我在 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;

    }

这显然比我做的简单得多??非常感谢帮助。

谢谢

加雷斯

4

1 回答 1

1

如果您使用 CocoaBindings 来填充该表,您只需将按钮的“隐藏”属性绑定到Table Cell View/objectValue.imageURL并使用NSIsNil值转换器。根本不需要代码。

如果您使用的是老式数据源,事情会变得有点复杂。在这种情况下,您可以在对象中有一个 imageButton 属性,并在 NSTableViewDelegate 的- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row方法中设置它。

于 2013-08-21T17:39:32.060 回答