问题标签 [nssegmentedcontrol]

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 投票
0 回答
92 浏览

objective-c - 来自 NSSegmentedControl 的 selectedSegment 属性的 RACSignal

NSSegmentedControl 实例绑定到 ViewController 为

在 viewDidLoad 方法中,为 NSSegmentedControl 的 selectedSegment 属性创建(并订阅)一个信号:

然而,subscribeNext 块只执行一次,就在信号创建之后,不会发送错误或完整的消息。

例如,当使用hidden而不是属性时,只要NSSegmentedControlselectedSegment的状态发生更改,就会执行 subscribeNext 块。hidden

这是 KVO 问题吗?我该如何解决这个问题,即如何从 NSSegmentedControl 的 selectedSegment 属性中生成 RACSignal?

(这只是一个 Mac 问题,iOS 在 UIControl 及其子类上有一些漂亮的类别似乎可以解决问题)。

0 投票
0 回答
235 浏览

cocoa - 我可以更改 NSSegmentedControl 弹出菜单位置吗?

我正在使用 3 段 NSSegmentedControl 来添加和删除配置,以及 cog“动作”符号来弹出菜单。

但是,当菜单弹出时,它显示如下:

错误的弹出位置

我更希望弹出窗口显示在 cog 段上方的中心,而不是下方并贴在我的窗口底部(这实际上是一个首选项窗格)。

我创建了 NSSegmentedCell 的子类来覆盖此答案中描述的“操作”方法。

如果可能的话,我宁愿避免使用私有 API!

0 投票
0 回答
229 浏览

cocoa - 通过 NSSegmentedControl 使用瞬时跟踪

NSSegmentedControl 的文档说明了有关使用 NSSegmentSwitchTrackingMomentary 模式的以下内容:

瞬时分段控件在用户单击一个段时发送一个动作,并在用户释放该段时发送另一个动作。如果配置为连续的(请参阅 setContinuous:),则该控件还会以重复的间隔发送操作,直到用户释放该段,此时控件将发送其最终操作。

当用户点击一个段时, selectedSegment 的值就是活动段的索引。当用户释放段时,selectedSegment 值为-1。

但是,这不是我看到的行为......除非我误解了 Apple 通过“单击”和“释放”一个片段的含义。

从该描述中,我希望当用户在一个段上按下鼠标按钮时,将调用该操作,并在释放鼠标按钮时发送第二个操作。

但是,当释放鼠标按钮时,我只看到一个动作。此外,如果我启用连续模式,我仍然只会在释放鼠标按钮时收到单一动作。

文档指出此功能可从 OSX 10.3 及更高版本获得,因此这不应该是问题。

0 投票
2 回答
1611 浏览

xcode - 如何使用 Xcode 工具栏中的菜单进行分段控制

我想在我的 OS X 应用程序中添加一个带有 Xcode 工具栏中的菜单的分段控件。它将在三个屏幕之间切换,并且还需要在每个屏幕中以菜单的形式有一些选项。我需要实施的图片

当我向其添加菜单时,标准分段控件不允许“选择一个”模式。

0 投票
0 回答
37 浏览

macos - 在未选择的 NSTableView 行中单击 NSSegmentedControl 始终会产生 -1 作为输出

示例项目:

https://drive.google.com/file/d/0B_fZh7kpxha7Y0JfU0xYMGpiMVE/view?usp=sharing

如果您选择表格行然后在 NSSegmentedCell 中选择段,您可以在日志中看到正在生成正确的输出。但是,如果您在不同行中的 NSSegmentedCell 之间切换,则 NSSegmentedCell 会不断产生 -1 作为输出(未选择段)。

我在尝试修复 El Capitan 的一个应用程序中出现的错误时发现了这一点,所以我不确定这是操作系统的错误还是我做错了什么。

提前致谢!

0 投票
1 回答
295 浏览

objective-c - NSSegmentedControl 中大小相等的单元格

对于我来说NSSegmentedControl,我用它来做显示一个栏来控制一个NSTableView。我设置了代码以编程方式控制大小:

这工作,由一个小问题发生。

一开始(有一段)它看起来像这样:

修改前

当我更改值时,右侧会被略微剪裁。

4段

10段

然后回到一个片段:

回到一个片段

约束如下:

约束

我对剪辑感到非常困惑(可能是因为几个像素太大了),但我不知道如何修复它,或者有没有更好的方法来获得均匀间隔的单元格?

0 投票
0 回答
974 浏览

swift - 如何自定义 NSSegmentedControl?

您知道如何获得该控件的子类 NSSegmentedControl/NSSegmentedControlCell 吗?-

我试图覆盖 NSSegmentedControlCell 中的一些方法,但我什至没有接近获得我想要的东西。

drawInteriorWithFrame 应该让我按照我想要的方式绘制背景(只是 clearColor,带边框),但它仍然具有默认的 lightGrayColor。

谢谢。

0 投票
1 回答
270 浏览

objective-c - NSSegmentedControl 以蓝色调和单选突出显示

是否有记录的方式NSSegmentedControl来使用 trackingMode NSSegmentSwitchTrackingSelectOne(即在控件中专门选择一个段)并使用蓝色色调突出显示模式渲染它- 我们在使用时自动获得的那个NSSegmentSwitchTrackingSelectAny

我正在寻找的是一种类似于Xcode 工具栏Navigator子工具栏/切换器中的风格:

在此处输入图像描述

到目前为止,使用不同样式或在标题周围戳的尝试都没有发现任何东西 -
分段控件以深灰色突出显示(类似于在 Finder 窗口中观察到的)。

任何有关如何激活蓝色突出显示模式的提示都非常感谢。

0 投票
1 回答
335 浏览

swift - NSSegmentedControl 段可选事件虽然被禁用

NSSegmentedControl在工具栏中有一个。它的模式设置为“瞬时”,因为这些片段应该看起来像按钮一样工作,而不是像永久选择一样。

启用规则:

  • 选择内容后,应启用所有 3 个段。
  • 未选择任何内容时,应仅启用最后一项。

所以我不能禁用整个控件,只能禁用某些部分。

到目前为止效果很好:

禁用作品

但是我仍然可以单击禁用的段并选择它们,即使那不是选择模式

在此处输入图像描述

我尝试了什么:

  • when the selection changes, deselect the segment again
  • 当工具栏生效时,设置selectedSegment = -1

看起来残疾的选择仍然保持不变。有任何想法吗?

0 投票
0 回答
153 浏览

objective-c - 在 OSX 的 NSSegmentedControl 中获取 NSButton

我正在为 OSX 上的 NSSegmentedControl 的可访问性而苦苦挣扎。我想为 NSSegmentedControl 中的各个段添加可访问性标签。当我打开旁白时,我看到旁白将这些片段检测为单选按钮。但是我想更改这些按钮的描述。为此,我假设我需要对单个 NSButton 的引用。有没有办法让我得到它?

否则是否有任何简单的方法可以将可访问性标签添加到单个可访问性标签?