问题标签 [nsbuttoncell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
756 浏览

objective-c - 表格列上的复选框不会注册点击

我有一个动态添加列的表格视图。必须这样做,因为我无法预测我需要多少列或哪些列。

有些列是复选框,但我在运行应用程序时无法单击它们。列和复选框设置为可编辑,但如果我单击复选框,则不会设置检查。我错过了什么吗?

更新

我如何(尝试)在复选框上设置状态:

0 投票
2 回答
7486 浏览

cocoa - 自定义 NSCell 内的 NSButtonCell

在我的可可应用程序中,我需要一个用于 NSTableView 的自定义 NSCell。这个NSCell 子类包含一个用于处理单击的自定义 NSButtonCell(以及两个或三个用于文本内容的 NSTextFieldCell)。您将在下面找到我的代码的简化示例。

我遇到的问题是:让这个 NSCell 中的 Button(更准确地说:NSButtonCell)正常工作的最佳/正确方法是什么?“工作”是指:触发指定的操作消息并在单击时显示备用图像。开箱即用,单击时按钮不执行任何操作。

很难找到有关此主题的信息/阅读材料。我在网上找到的唯一帖子指向我实施

这是正确的方法吗???实现 trackMouse: 在我包含的 NSCell 中?然后将事件转发到 NSButtonCell?我本来希望 NSButtonCell 本身知道当它被点击时要做什么(我看到 trackMouse: 方法更多地与真正跟踪鼠标移动相结合——而不是作为“标准”点击行为的训练轮)。但是,当包含在单元格本身中时,它似乎并没有这样做……看来我还没有掌握自定义单元格的大局;-)

如果有人能根据他自己的经验回答这个问题(或向我指出一些教程等),我会很高兴 - 并告诉我我是否走在正确的轨道上

在此先感谢,托比

0 投票
2 回答
1867 浏览

objective-c - NSButtonCell 动作的问题

出于某种原因,我的表格视图的 NSButtonCell 将错误的对象作为参数传递。我试图在点击后读取 NSButtonCell 的标签。

这是我的代码的简化版本:

控制台的结果说:

乍一看(至少对我来说)这应该说标签是 100,但事实并非如此。另外(从第二个控制台输出可以看出),发送到“buttonClick”选择器的参数似乎不正确,我相信它应该接收到 NSButtonCell,但它正在接收 NSTableView。

0 投票
1 回答
9073 浏览

cocoa - 在界面生成器中创建带有图像的自定义按钮

如何在可可应用程序的界面构建器中创建一个带有正常和突出显示状态的图像的按钮?我需要一个类似 cocoa-touch 中的自定义按钮的按钮,并为默认和突出显示的状态提供图形。同样,它适用于纯 mac 应用程序,而不适用于 iPhone。

TIA

0 投票
3 回答
3343 浏览

cocoa - 使用 NSButtonCell 实例获取自定义 NSCell 以处理鼠标单击/鼠标事件

好吧,我真的被这个难住了。我想制作一个将 NSTextFieldCell 组合在一起的复选框。如果鼠标点击框而不是文本,则复选框打开很重要。我或多或少地完成了这一点,但问题是接收鼠标事件,因为我连续单击一个复选框,但它们都转向 NSOnState。我将展示我所做的事情以及我的各种失败尝试,以使其发挥作用。

所以这就是我到目前为止的做法:

标题:

执行:

我知道我可能不应该这样做:

在那里...因为结果是每个复选框都进入 NSOnState。这是因为细胞被重复使用了吗?为什么 ImageAndTextCell 可以在同一个 tableview 中有不同的图像?如何处理鼠标事件?

我努力了:

trackMouse: ... DOES 被调用

startTrackingAt:..., continueTracking:..., 和 stopTracking:.... 当我点击复选框“命中区域”时不要被调用

在 trackMouse:... 我试过了

并且似乎都没有导致复选框处理鼠标事件。

如何让单个复选框进入 NSOnState?我知道我已经很接近了,但是经过大量的文档阅读和谷歌搜索后,我并没有成功解决这个问题。

欢迎提出建议和意见。。


好的,这里有更多显示对象的创建和销毁..

0 投票
1 回答
1079 浏览

cocoa - 在 NSMatrix 中的 NSButtonCell 中的文本之前显示图像

我在 NSMatrix 中显示按钮。

我的要求是:

当满足特定条件时,更改按钮标题的颜色并将图像放置在标题的开头。

为此,我使用了以下代码:

尽管上面的代码显示了标题颜色的变化,但它没有显示标题开头的图像:(

任何人都可以建议我在哪里可能出错或其他一些方法来实现我的要求吗?

编辑:

在线:

它在编译时给出这个警告:

谢谢,

米拉杰

0 投票
1 回答
2505 浏览

objective-c - NSButtonCell 作为 NSTableVIew 中的复选框不会被选中

我有一个用于多选目的的 NSTableVIew,它有两列,第一列以 NSButtonCell 作为复选框,另一列作为标题。

这个想法是检查要添加到数组后面的项目。

问题是当我单击它们时复选框不会改变其状态。我试图附加一个 IBAction,但发送者是表视图而不是复选框

关于如何实现这种功能的任何想法(或链接)?

0 投票
2 回答
3236 浏览

objective-c - 自定义 NSButton 和 NSButtonCell

我正在尝试创建自定义按钮外观。

从我收集到的内容来看,NSButtonCell这幅画是不是,所以我实际上应该改写它。

但问题是,我的 CustomButton 类还有其他的东西,比如NSImagemIsMouseOver等等。目前绘图是在 CustomButton 类中完成的,但我想将它移到单元格中。

问题是,无论如何我可以从 customButtonCell 类访问 customButton 类中的图像以便我可以使用[image drawInRect:...]吗?

问候,韩

0 投票
1 回答
897 浏览

objective-c - 获取复选框以在 NSTableColumn 中反映其状态

我正在制作这个程序,它有一个 NSTableView 有四列,其中两列是复选框。我现在只是想让一个工作,但我被卡住了。
首先,这是我的相关代码:

如您所见,我使用的是该表的数据源方法,而不是绑定。我为 Cocoa 阅读的书制作了一些带有标签的复选框,但我认为它们位于数组中,因此这可能不是最好的做法。

无论如何,当我运行它时,调试器将向我显示标签(等于行)以及按钮的状态(由于 NSOnState,所有这些都为 1)。我的问题是我无法根据它们的状态来选中和取消选中这些框。我读了这个问题:表格列上的复选框不会注册点击

然后是 NSTableView 数据源参考。根据链接问题中的 Nozzi 先生,在我看来,需要一个包含盒子状态的数组,所以我尝试了,将其设置[cell state]为 NSNumber 以将其放入 NSMutableArray。我 FUBAR'd 那和不认为那是正确的。此表中有 454 行(标记转到 453,因为数组从 0 开始),用于所有四列。

我还想知道是否应该将 tableview:setObjectValue: 中的单元格定义内容放入“awakeFromNib”中。我确实在 IB 中放置了一个复选框按钮单元格,但我之前遇到了问题,所以我决定也以编程方式进行。在所有这些过程中,我确实并且仍然[myTableVeew reloadData]在 setObjectValue 方法中有一个。

感谢您的帮助,如果需要任何其他信息,我可以得到它。

0 投票
1 回答
645 浏览

cocoa - 防止 NSButtonCell 图像在其包含的 NSScrollView 之外绘制

我以前过(并回答过)一个非常相似的问题。这个问题能够得到解决,因为我知道dirtyRect,因此,知道我应该在哪里绘制图像。现在,我看到与子类相同的行为NSButtonCell

在此处输入图像描述

在我的子类中,我只是重写了drawImage:withFrame:inView添加阴影的方法。

}

看起来都很标准,但图像仍在包含滚动视图边界之外绘制。我怎样才能避免这种情况?