【问题标题】:Is an created NSButtonCell unique?创建的 NSButtonCell 是唯一的吗?
【发布时间】:2013-03-11 20:00:00
【问题描述】:

那么,按钮可以识别吗?

我需要在 aNSTableView 中识别一个 cell-botton (Button Cell) 以检测它是否已被按下。表格总是可以通过用户输入来改变。我的好主意是,如果创建的按钮(按钮单元)是唯一的,那么它将是可识别的。这可能吗?

【问题讨论】:

    标签: objective-c uniqueidentifier nsbuttoncell


    【解决方案1】:

    单元格与成熟的控件略有不同。 NSTableView 为一列的所有行重用一个单元格。当NSTableView 绘制一行或处理用户输入时,它会为相关行/列配置单元格。

    在您的情况下,您有一个 NSButtonCell 并且您想知道点击了哪一行。您可以通过在按钮单元格的操作方法中检查表格视图的clickedRow 属性来确定单击了哪一行。 The answer to this question 解释了如何做到这一点。

    【讨论】:

    • 是的,它是NSButtonCellclickedRow 方法对我有用。但是,特定行的数量会随着上面的删除/添加行而改变,我说得对吗?
    • 没错。我要做的是返回表的数据源并使用行索引来获取行所代表的对象。这应该为您提供处理按钮单击所需的数据。
    【解决方案2】:

    嗯,只要这些按钮是UIView的子类,也就是UIButtons,那么就可以用tag字段来携带一个数字信息。将 celForRowAtIndexPath 中的 button.tag 设置为 indexPath.row ,您可以在 IBAction 方法中获取按钮在按下时应该 inovke 的标签。

    【讨论】:

    • 你好赫尔曼,请回答。单元格按钮是NSButtonCell 类的子类(用于osx)。请问有sn-p代码如何使用cellForRowAtIndexPath来创建标签吗?
    • 道歉。我忽略了它与 OS-X 框架有关。显然我并没有真正阅读它并认为它与iOS有关。不,我无法为 OS-X 提供帮助。
    • 很高兴您得到了答复。 Tschüs :)
    猜你喜欢
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2012-06-24
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多