问题标签 [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.
objective-c - NSRuleEditor 的指南或示例?
NSRuleEditor
看起来像一个非常强大的类,它看起来像 iTunes 智能播放列表或 Finder 智能文件夹之类的东西正在使用它。
(我认为它应该被称为 NSSmartRuleEditor ...)
但是除了参考之外,还有其他类型的文档吗?
某种示例代码或指南会很好,但看起来 ADC 没有任何东西可以提供.. 到目前为止NSRuleEditor
,它似乎是 Cocoa 中记录最少的控件!
有人知道任何使用控件、博客文章等的开源项目吗?
objective-c - 如何在 NSOutlineView 的委托方法中获取 NSButtonCell 的标题
我正在使用NSButtonCell
子类在同一个单元格中显示复选框、图像和标签。现在我想通过双击或输入键在大纲视图中编辑标签。
NSButtonCell
子类:
我总是得到 1 (布尔值)
NSOutlineView
委托方法。(因为 NSButtonCell)但我想编辑标签。
- 如何编辑标签?
- 如何处理双击?
- 在按下回车键之前:
之后
如何更改颜色文本?它显示白色。
它应该像 (带复选框)
谁能帮帮我?
objective-c - NSComboBox 动作选择器在 setHidden:YES 时触发
我有一个 NSComboBox。我已经设置了一个动作选择器。当盒子被隐藏时,选择器会触发,即使用户从未接触过它。是的,我需要隐藏它。
为什么隐藏 NSControl 会触发它的选择器?修复它的最佳方法是什么?
更新: 我已经通过包装方法来修复它。但我仍然想了解原因或其他解决方法。
objective-c - NSControl 和 NSCell:以正确的方式管理单元状态
我有一个完全定制NSControl
的完全定制NSCell
。现在我想实现一些鼠标交互。例如,当用户单击控件时,我想将控件状态更改为,highlight
所以问题是:
1)我必须在哪里处理鼠标事件?在中NSControl
还是直接在中NSCell
?
目前我正在使用 NSCell 子类中的代码:
2)NSCell
状态是否由 ? 自动管理NSControl
?如果我将NSControl
stete 设置为highlight
它将被镜像到NSCell
?
3)那启用的属性呢?目前我在 NSControl 中写了这段代码: 而在 NSControl 中的这段代码
您是否特别建议使用自定义 NSControl+NSCell 处理鼠标事件?
objective-c - 是否有类似于 NSLevelIndicator 的自定义控件,具有反向着色?
我需要一个类似于NSLevelIndicator
in的控件NSContinuousCapacityLevelIndicatorStyle
,但具有反向着色。使用NSLevelIndicator
,颜色是这样的:绿色到警告级别,黄色从警告到严重级别,红色从严重级别开始。这适用于音量控制。但我有一个对应于油箱加注的值:我想要绿色表示满罐,黄色表示警告,红色表示空。我还没有找到任何改变颜色的方法NSLevelIndicator
。
那么,在我开始编写自己的自定义控件之前,是否有一个NSControl
可用的地方已经可以满足我的需求(当然我在询问之前搜索过,但无济于事)?
谢谢阅读。
objective-c - NSString drawInRect:withAttributes: 导致'无法识别的选择器发送到实例......'
我得到了一些非常奇怪的东西:一种方法会导致unrecognized selector sent to instance
,但根本没有NSLog()
任何作用。
我制作了一个自定义 NSControl 子类,我尝试在其中绘制我的自定义单元格,如下所示:
并且-[MKMenuCell drawWithFrame:inView:]
:
输出:
如您所见MKMenuCell
, 'sdrawWithFrame:inView:
被称为。NSLog()
但不显示其语句的输出。这里发生了什么?如何解决?
编辑:我现在意识到,看着 GDB 输出,第一次没有任何问题。这让它更加陌生。
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:
objective-c - 正确的 NSActionCell 编程
我无法找到有关自定义控件和单元格的信息。
我的控件应该有多个NSCell
s,这就是为什么我不能使用 default 的原因NSControl
。
单元格正在正确显示。
但是,它们是NSButtonCells
,并且应该响应鼠标按下。
这是我尝试过的:
我不知道这是否是正确的方法,但我没有找到一些合适的资源......
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:
到被单击的单元格来部分响应"
如果我遗漏了什么,请告诉我——我用谷歌搜索了很多东西,没有任何用处。
interface-builder - NSControl 在不同的 Mac 上不起作用
我遇到了一个非常奇怪的问题,我自己无法解决。我在NSWindow
运行时嵌入了几个 UI 元素NSBorderlessWindowMask
。有 2 NSSlider
、 3 NSButton
、 aNSComboBox
和 a NSColorWell
。
该应用程序针对目标 10.7 构建并启用了沙盒。
在我的开发机器上,每个元素都按预期工作。有NSComboBox
一个工作DataSource
和Delegate
. NSColorWell
也确实有效。当我单击 时NSComboBox
,我可以在其中输入文本。并NSColorWell
打开颜色选择。
当我将我的应用程序交给我的 beta 测试人员时,NSComboBox
和NSColorWell
无法编辑。这意味着,我可以将元素添加到DataSource
(NSComboBox
通过导入),并且可以在下拉菜单中选择它们,但我无法单击NSComboBoxCell
并写入文本。当我单击NSColorWell
.
我完全不知道是什么导致了这种行为。每个元素都正确连接,我运行与我的 beta 测试器相同的二进制文件。这两个系统都运行最新版本的 Mountain Lion。我尝试为 beta 测试器创建一个NSButton
,它在以下设备上运行以下方法NSComboBox
:
没有任何帮助。我不知道如何“调试”这种行为。你有什么建议吗?
编辑:我能够把它分解一下。当我删除线
有用。但我想从删除标题栏得到一个漂亮的外观,所以它只会有一点帮助。