macos - 基于 View 的 NSTableView + NSButton

标签 macos cocoa nstableview cocoa-bindings

我有一个基于 View 的 NSTableView,使用 Cocoa Bindings 来更改单元格中一些标签和图像的值。一切都很好。但是,我想向单元格添加一个按钮。我已经让按钮工作了,但它的操作方法只有按钮作为发送者,这意味着我不知道按钮所在单元格的内容。不知何故,我需要在按钮上存储一些额外的数据 - 在至少是按钮所在的行索引。我对 NSButton 进行了子类化并在单元格中使用了我的子类,但 Interface Builder 不知道额外的属性,因此我无法绑定(bind)到它。如果我想将它绑定(bind)在代码中,我不知道要传递给它的对象名称或键路径。

我怎样才能让它发挥作用?

最佳答案

您可以在操作方法中使用 rowForView 来获取行值

- (IBAction)doSomething:(id)sender
{
        NSInteger row = [_myTableView rowForView:sender];
}

关于macos - 基于 View 的 NSTableView + NSButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22652151/

相关文章:

xcode - 为新的 OS X 项目选择 Swift 语言不可用

macos - 如何在 OSX 12.3.1 上启用 Spotlight 来索引我的 NAS?

cocoa - NSTableView rowViewAtRow : always returning nil

cocoa - NSTableView 内的进度条

iphone - Xcode 4.3.2 中的声音问题

cocoa - 单击外部时关闭无边框 float NSWindow

swift - 如何使用 cocoa swift 显示 pdf(版本 3.1)

cocoa - cocoa 中的按钮数组?

objective-c - 初始化WithFrame : method for custom textfield not being called when created in a TableCellView

objective-c - NSCollectionView 单元格顺序随 View 更改而更改