【问题标题】:setAction: Always Called with mouseUpsetAction:总是用 mouseUp 调用
【发布时间】:2011-10-14 16:48:23
【问题描述】:

我的 mac 应用程序中有一个由 NSButtonCells 组成的 NSMatrix。我这样做:

[matrix setAction:@selector(matrixbutton:)];

然而,当用户释放鼠标点击时,它总是被调用。是否可以更改它以便在鼠标按下时立即调用它?

谢谢。

【问题讨论】:

    标签: objective-c macos nsmatrix nsbuttoncell


    【解决方案1】:

    没有; Mac 上的控件在鼠标向上而不是鼠标向下时激活。 (否则,无法区分单击和拖动,例如,因为两者都是从鼠标按下开始的。)

    【讨论】:

    • 那么你会建议我做什么来让我的方法在我的 NSButtonCell 的 mouseDown 上运行?因为我不相信 NSButtonCell 有 mouseDown 事件。
    • NSMatrix 是 NSView 的子类,因此您可以创建自己的子类并以这种方式工作。或者,查看-[NSCell sendActionOn:] 方法,它可以让您更改触发操作的事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 2021-05-10
    • 2017-09-14
    • 2012-02-19
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多