问题标签 [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.
swift - NSControl 的 addTarget() 方法在哪里?
所以我已经好几年没看过 Swift/Cocoa 了。我刚刚使用 Xcode 10.0 创建了一个简单的 macOS 应用程序,发现它NSControl
不再有addTarget(...)
方法。看起来它已被target
type 的属性所取代id
。
由于我需要指定操作(例如单击)、要调用的对象以及要调用该对象的选择器,我现在应该如何为按钮单击等添加处理程序。
解决方案:
macos - NSTextField 光标位置
有什么方法可以在 a 中获取当前光标位置NSTextField
?我只找到UITextField
对 osx 不起作用的答案:
非常感谢!
swift - 如何使用 NSControl 的编辑(withFrame:editor:delegate:event:)?
我有一个自定义NSControl
,我正在尝试使该功能edit(withFrame:editor:delegate:event:)
正常工作。在调用它时,我希望字段编辑器会出现在我的视图中,但没有任何反应。
我已经阅读了该函数的文档,并创建了一个最小的示例:
从示例中可以看出,我不太确定是否符合NSControlTextEditingDelegate
or NSTextDelegate
。我实现的所有功能似乎都没有被调用。
还是我可能误解了该功能的目的?我应该覆盖它而不是调用它吗?
swift - 鼠标按下行为 NSControl 和 NSView 的第一响应者
我有一个自定义控件。如果它继承自NSView
,当我点击它时它会自动成为第一响应者。如果它继承自NSControl
,则不会。这种行为差异仍然存在,即使我覆盖mouseDown(with:)
并且不调用 super。
代码:
如您所见,我acceptsFirstResponder
在与键视图和响应程序相关的其他方法和属性中进行了覆盖。我也检查了refusesFirstResponder
财产。它设置为假。
- 这种行为差异的原因是什么?
- 是否有我可以覆盖以影响它的方法或属性?
- 假设我想要单击时视图成为第一响应者并且视图继承自的行为,在我的鼠标按下事件处理程序的开头
NSControl
调用是window!.makeFirstResponder(self)
一个好的解决方案还是有更好的解决方案?
objective-c - 如何从自定义工作表按钮获取窗口的 NSControl*?
我有一个简单的“测试床”模块,由一个空的 NSWindow 组成。窗口上唯一的项目是标有“切换窗口”的按钮,仅此而已。它有一种方法如下所示:
单击此按钮可在 225 和 385 像素之间切换窗口的宽度并且效果很好。计划是在我的主应用程序中添加一个类似的方法,但这次是从自定义工作表上的按钮调用,如下所示:
即使将被调用方法的名称更改为上面显示的名称,此尝试也无济于事。在这种情况下,我无法连接 IBAction,因为自定义工作表按钮当然不会显示在 .xib 文件中。是否可以(a)通过修改调用将此 NSControl 指针传递给我的方法,或者(b)从“testResize”方法本身(这似乎是最简单的解决方案)中访问它?
我已经尝试了上述方法并在网上搜索了几天,但似乎找不到任何似乎可以回答我的具体问题的东西。谢谢。
swift - 隐藏 NSTouchBar 按钮
我正在快速开发一个个人项目(对于 macOS 应用程序),我想制作一个 NSbutton (触摸栏按钮)并将其隐藏。
有没有可能的方法来做到这一点?
swift - 更改 NSButton 的 mouseDown 上的 contentTintColor
我有一个子类 NSButton 的自定义按钮。我想在按钮处于按下状态时更改内容色调颜色。这就是我所拥有的:
这样做的结果是内容的色调颜色变成了背景颜色,因此按钮内容是不可见的。为什么只有当我将光标拖到按钮外时 contentTintColor 才会更新?演示
swift - 当用户编辑第一个文本字段时,如何自动填充其他文本字段?
我正在构建一个包含多个文本字段的 macOS 应用程序。当用户编辑第一个文本字段时,我希望所有其他文本字段自动填充(根据第一个文本字段的 int 值)。
到目前为止,我可以在用户按下返回键时自动填充字段,但我只想通过用户单独输入数字来自动填充(不按任何返回键或制表键等)。
我是 macOS 的初学者,所以我将不胜感激简单/具体的建议。提前致谢。
xcode - AudioUnit GUI 布局问题
我最近一直在研究 AudioUnit v3 插件。一切都完美无缺,甚至在 Logic X 中运行时的 GUI最初注册的插件来加载和运行,并通过 AUVAL 的所有测试。
现在有趣的部分,因为发生了这种情况,我完成的插件项目的 GUI 现在在加载 Logic X 时会出现。在 Xcocde 中运行应用程序看起来很好,在 Xcode 之外运行 main.app 它看起来很好 - 运行音频单元扩展在 Logic 中,自定义旋钮元素不会停留在应有的位置。
在 Xcode 中运行的 UI。
我在这个 UI 中的每个元素上都有 AutoLayout 约束。它包括:
- NSView 背景
- 堆栈视图持有 3x NSView
- NSView 持有 2x 自定义 NSControl 旋钮的 StackView。加上“Drive”和“Volume”标签的 StackView。
- NSView 持有 3x 自定义 NSControl 旋钮的 StackView。加上“Pan”、“Mid”和“Sides”标签的 StackView。
- NSView 持有 2x StackView - 每个持有 2x NSButtons (Mid, Side,) , (L, R)
在 Logic X Pro 中运行的 UI。
问题是旋钮。他们不会再坚守岗位了,他们曾经很好。代码中没有任何变化。
我正在努力解决这个荒谬的问题。有任何想法吗?
swift - 如何在代码中为自定义 NSControl 定义操作?
我已经创建了一个子类,NSControl
它是格式化数字NSTextField
和NSStepper
. 这是基本代码:
如果我创建一个实例并将其作为子视图添加到我的主视图中,这将按预期工作:我可以单击步进按钮来更改值,我可以直接输入一个数字。
但是,我不知道如何定义将通知我的目标(超级视图)任何更改的操作。
我创建了一个这样的实例:
并定义这样的方法:
但是该方法永远不会被调用,因为 StepperWithNumberField 不知道何时将任何操作发送到目标。
我希望每当 intValue 发生变化时,通过使用步进按钮或直接用户输入将操作发送到目标。
我在哪里——如果可能的话——告诉班级发送动作的条件?我已经搜索了 Apple 的文档以及这个社区,但是关于该主题的大多数问题和示例代码都已有 10 多年的历史,并且无法快速处理。
在这个线程...
...建议使用委托,这当然是一种解决方案,但我仍然对如何在自定义 NSControl 中实现目标动作模式感兴趣。