问题标签 [nscontrol]

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 回答
2926 浏览

objective-c - NSRuleEditor 的指南或示例?

NSRuleEditor看起来像一个非常强大的类,它看起来像 iTunes 智能播放列表或 Finder 智能文件夹之类的东西正在使用它。
我认为它应该被称为 NSSmartRuleEditor ...

但是除了参考之外,还有其他类型的文档吗?

某种示例代码或指南会很好,但看起来 ADC 没有任何东西可以提供.. 到目前为止NSRuleEditor,它似乎是 Cocoa 中记录最少的控件!

有人知道任何使用控件、博客文章等的开源项目吗?

0 投票
0 回答
438 浏览

objective-c - 如何在 NSOutlineView 的委托方法中获取 NSButtonCell 的标题

我正在使用NSButtonCell子类在同一个单元格中显示复选框、图像和标签。现在我想通过双击或输入键在大纲视图中编辑标签。
NSButtonCell子类:

我总是得到 1 (布尔值)

NSOutlineView委托方法。(因为 NSButtonCell)但我想编辑标签。

  1. 如何编辑标签?
  2. 如何处理双击?
  3. 在按下回车键之前:
    在此处输入图像描述

之后
在此处输入图像描述 如何更改颜色文本?它显示白色。

它应该像 在此处输入图像描述(带复选框)

谁能帮帮我?

0 投票
2 回答
756 浏览

objective-c - NSComboBox 动作选择器在 setHidden:YES 时触发

我有一个 NSComboBox。我已经设置了一个动作选择器。当盒子被隐藏时,选择器会触发,即使用户从未接触过它。是的,我需要隐藏它。

为什么隐藏 NSControl 会触发它的选择器?修复它的最佳方法是什么?

更新: 我已经通过包装方法来修复它。但我仍然想了解原因或其他解决方法。

0 投票
1 回答
923 浏览

objective-c - NSControl 和 NSCell:以正确的方式管理单元状态

我有一个完全定制NSControl的完全定制NSCell。现在我想实现一些鼠标交互。例如,当用户单击控件时,我想将控件状态更改为,highlight所以问题是:

1)我必须在哪里处理鼠标事件?在中NSControl还是直接在中NSCell

目前我正在使用 NSCell 子类中的代码:

2)NSCell状态是否由 ? 自动管理NSControl?如果我将NSControlstete 设置为highlight它将被镜像到NSCell?

3)那启用的属性呢?目前我在 NSControl 中写了这段代码: 而在 NSControl 中的这段代码

您是否特别建议使用自定义 NSControl+NSCell 处理鼠标事件?

0 投票
2 回答
1216 浏览

objective-c - 是否有类似于 NSLevelIndicator 的自定义控件,具有反向着色?

我需要一个类似于NSLevelIndicatorin的控件NSContinuousCapacityLevelIndicatorStyle,但具有反向着色。使用NSLevelIndicator,颜色是这样的:绿色到警告级别,黄色从警告到严重级别,红色从严重级别开始。这适用于音量控制。但我有一个对应于油箱加注的值:我想要绿色表示满罐,黄色表示警告,红色表示空。我还没有找到任何改变颜色的方法NSLevelIndicator

那么,在我开始编写自己的自定义控件之前,是否有一个NSControl可用的地方已经可以满足我的需求(当然我在询问之前搜索过,但无济于事)?

谢谢阅读。

0 投票
1 回答
3130 浏览

objective-c - NSString drawInRect:withAttributes: 导致'无法识别的选择器发送到实例......'

我得到了一些非常奇怪的东西:一种方法会导致unrecognized selector sent to instance,但根本没有NSLog()任何作用。

我制作了一个自定义 NSControl 子类,我尝试在其中绘制我的自定义单元格,如下所示:

并且-[MKMenuCell drawWithFrame:inView:]

输出:

如您所见MKMenuCell, 'sdrawWithFrame:inView:被称为。NSLog()但不显示其语句的输出。这里发生了什么?如何解决?

编辑:我现在意识到,看着 GDB 输出,第一次没有任何问题。这让它更加陌生。

0 投票
1 回答
485 浏览

objective-c - 我应该在我的 NSCell 上调用什么方法

我正在使用自定义 NSCells 编写自定义 NSControl。它是一个控件,所以它必须响应鼠标。我在我的控件上创建了一个 NSTrackingArea,实现-mouseEntered:了. (而且我必须实现,但我不知道在那里做什么,所以现在我还没有覆盖这些方法。)在这些方法中,我成功地确定了鼠标当前位于哪个单元格上。现在我有两个问题:-mouseExited:-mouseMoved:-mouseUp/Down:

  • 这是跟踪鼠标的好方法吗?如果没有,我应该怎么做?
  • 当鼠标点击、鼠标进入单元格、鼠标离开单元格等时,我应该在我的 NSCell 上调用什么方法?苹果的文档对此不是很清楚。

所以,基本上:我应该什么时候调用我的 NSCell 上的什么方法来让它响应鼠标事件?

编辑:
重读文档,我想我应该调用 NSCell's和-trackMouse:inRect:ofView:untilMouseUp:override-startTrackingAt:inView:和. 还有两个问题:1)文档给人的印象是只有在鼠标按下时才会调用它们。那是对的吗?那我应该怎么做呢?2)我应该在哪里/什么时候打电话给 NSCell 的?-continueTracking:at:inView:-stopTracking:at:inView:mouseIsUp:-trackMouse:inRect:ofView:untilMouseUp:

0 投票
0 回答
226 浏览

objective-c - 正确的 NSActionCell 编程

我无法找到有关自定义控件和单元格的信息。

我的控件应该有多个NSCells,这就是为什么我不能使用 default 的原因NSControl
单元格正在正确显示。
但是,它们是NSButtonCells,并且应该响应鼠标按下。

这是我尝试过的:

我不知道这是否是正确的方法,但我没有找到一些合适的资源......

0 投票
1 回答
388 浏览

objective-c - -(BOOL)trackMouse:inRect:ofView:untilMouseUp: 永远不会被调用

我已将 NSControl 子类化以获取我的自定义控件,将 NSCell 子类化以获取我的自定义单元格,在自定义单元格中重写-(BOOL)trackMouse:inRect:ofView:untilMouseUp和必要的方法,+ (Class)cellClass在 customControl 中重写以返回我的 customCell,

单元格在控件上绘制良好,设置启用,设置禁用工作正常,但鼠标事件没有被触发。在调试时我注意到-(BOOL)trackMouse:inRect:ofView:untilMouseUp: 从未调用过。根据“控制和单元编程指南”-

“控件管理其单元格的行为。通过从 NSView 继承,控件派生了响应用户操作并呈现其屏幕表示的能力。当用户单击控件时,它通过发送trackMouse:inRect:ofView:untilMouseUp:到被单击的单元格来部分响应"

如果我遗漏了什么,请告诉我——我用谷歌搜索了很多东西,没有任何用处。

0 投票
1 回答
122 浏览

interface-builder - NSControl 在不同的 Mac 上不起作用

我遇到了一个非常奇怪的问题,我自己无法解决。我在NSWindow运行时嵌入了几个 UI 元素NSBorderlessWindowMask。有 2 NSSlider、 3 NSButton、 aNSComboBox和 a NSColorWell

该应用程序针对目标 10.7 构建并启用了沙盒。

在我的开发机器上,每个元素都按预期工作。有NSComboBox一个工作DataSourceDelegate. NSColorWell也确实有效。当我单击 时NSComboBox,我可以在其中输入文本。并NSColorWell打开颜色选择。

当我将我的应用程序交给我的 beta 测试人员时,NSComboBoxNSColorWell无法编辑。这意味着,我可以将元素添加到DataSourceNSComboBox通过导入),并且可以在下拉菜单中选择它们,但我无法单击NSComboBoxCell并写入文本。当我单击NSColorWell.

我完全不知道是什么导致了这种行为。每个元素都正确连接,我运行与我的 beta 测试器相同的二进制文件。这两个系统都运行最新版本的 Mountain Lion。我尝试为 beta 测试器创建一个NSButton,它在以下设备上运行以下方法NSComboBox

没有任何帮助。我不知道如何“调试”这种行为。你有什么建议吗?


编辑:我能够把它分解一下。当我删除线

有用。但我想从删除标题栏得到一个漂亮的外观,所以它只会有一点帮助。