【发布时间】:2013-03-11 20:00:00
【问题描述】:
那么,按钮可以识别吗?
我需要在 aNSTableView 中识别一个 cell-botton (Button Cell) 以检测它是否已被按下。表格总是可以通过用户输入来改变。我的好主意是,如果创建的按钮(按钮单元)是唯一的,那么它将是可识别的。这可能吗?
【问题讨论】:
标签: objective-c uniqueidentifier nsbuttoncell
那么,按钮可以识别吗?
我需要在 aNSTableView 中识别一个 cell-botton (Button Cell) 以检测它是否已被按下。表格总是可以通过用户输入来改变。我的好主意是,如果创建的按钮(按钮单元)是唯一的,那么它将是可识别的。这可能吗?
【问题讨论】:
标签: objective-c uniqueidentifier nsbuttoncell
单元格与成熟的控件略有不同。 NSTableView 为一列的所有行重用一个单元格。当NSTableView 绘制一行或处理用户输入时,它会为相关行/列配置单元格。
在您的情况下,您有一个 NSButtonCell 并且您想知道点击了哪一行。您可以通过在按钮单元格的操作方法中检查表格视图的clickedRow 属性来确定单击了哪一行。 The answer to this question 解释了如何做到这一点。
【讨论】:
NSButtonCell。 clickedRow 方法对我有用。但是,特定行的数量会随着上面的删除/添加行而改变,我说得对吗?
嗯,只要这些按钮是UIView的子类,也就是UIButtons,那么就可以用tag字段来携带一个数字信息。将 celForRowAtIndexPath 中的 button.tag 设置为 indexPath.row ,您可以在 IBAction 方法中获取按钮在按下时应该 inovke 的标签。
【讨论】:
NSButtonCell 类的子类(用于osx)。请问有sn-p代码如何使用cellForRowAtIndexPath来创建标签吗?