问题标签 [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 投票
3 回答
934 浏览

objective-c - 选择 NSSegmentedControl 的标签

我正在尝试在我的 IB 中实现 NSSegmentedControl 按钮。

我把它连接到- (IBAction)editCart:(id)sender;

此外,它连接到NSSegmentedControl *editCartButton;

第一个“段”是一个“-”按钮,用于减少购物车价值。第二个“段”是增加购物车价值的“+”按钮。

当我尝试像这样使用“发件人”值时:[sender selectedSegment],我收到一个错误: -[NSTableView selectedSegment]: unrecognized selector sent to instance 0x100622aa0

我的按钮位于 NSTableView 内。

我也试过:[[editCartButton cell] selectedTag]

当我通过我的条件运行它时,它总是返回一个值(null)。我想检索我期望得到的 0 和 1 的特定标签,但找不到正确的操作。

非常感谢您的帮助,谢谢。

0 投票
2 回答
1474 浏览

objective-c - 继承nssegmentedcontrol?

创建这样的控件的最佳方法是什么?

在此处输入图像描述

我假设它是一个 NSSegmentedControl 并且我必须对单元格进行子类化?但想得到第二个意见。谢谢,

rc

注意:较浅的控件来自 Twitter Mac,较暗的控件来自 Rapidweaver。

0 投票
1 回答
586 浏览

objective-c - 用键盘控制 NSSegmentedControl

我的 Cocoa 应用程序中有一个表单,其中包含我希望通过键盘控制的 NSSegmentedControl。然而,NSSegmentedControl 似乎很不愿意成为第一响应者。

将窗口的初始第一响应者设置为分段控件没有任何作用——当窗口第一次加载时,它将没有键盘焦点。如果我像这样手动设置第一响应者,它确实会获得焦点,但是:

[segmentedControl.window makeFirstResponder: segmentedControl];

如果表单的唯一部分是分段控件,那将可以正常工作。如果我添加另一个字段(例如,一个 NSTextField),并将分段控件的 nextResponder 设置为该字段,则分段控件将永远不会成为第一响应者。焦点将立即转到文本字段,按 Tab 键切换回分段控件不起作用。

我试过继承 NSSegmentedControl 并覆盖 AcceptFirstResponder、becomeFirstResponder 等,但无济于事。唯一有区别的是resignFirstResponder——如果我从那个方法返回NO,那么分段控件确实会保持焦点,但显然我不希望它一直保持焦点。

关于如何让控件表现得像普通响应者的任何想法?

0 投票
1 回答
460 浏览

custom-controls - NSSegmentedControl setFrame 被忽略?(自定义 NSSegmentedControl)

我想自定义一个 NSSegmentedControl。我想做的第一件事是改变控制器的高度。在界面生成器中,NSSegmentedControl 的高度字段被禁用。所以我简单地尝试改变它的高度,在我的代码中改变它的框架

但什么也没发生。

我是否错过了什么或完全不可能更改 NSSegmentedControl。

如果我做不到,我会使用 2 NSButton 实现我自己的墙。

谢谢...(为您未来的帮助)。

0 投票
1 回答
1331 浏览

cocoa - NSSegmentedCell 子类绘图

我创建了 NSSegmentedCell 的子类并实现了 drawWithFrame,如下所示:

问题是在第一次启动应用程序时没有绘制分段,只有当我用鼠标单击分段控件假设绘制的空白区域时,它才会可见。请告诉我,我在这里缺少什么。

谢谢,

0 投票
1 回答
392 浏览

macos - COCOA Mac 应用程序中 NSSegmentedControl 按钮的键盘快捷键

在我的 COCOA Mac 应用程序中,有一个用于队列开/关功能的 NSSegmentedControl 按钮。现在我需要提供相同的键盘快捷键。例如,对于 Queue ON,如果它已经是 Off,反之亦然。

有人做过这种功能吗?

谢谢和问候,巴伦

0 投票
1 回答
278 浏览

localization - Xcode 4.5 基础本地化和 NSSegmentedControl 问题

我无法让我的 NSSegmentedControl 使用 Base Localization 更改其标题。

Xcode 为英语和法语生成文件,我翻译每个段的标题,但它们与 xib 文件中的相同。

其他分段控件的工具提示也是如此。

由于其他一切工作正常,我想这是这种特殊类型控件的错误。

其他人可以确认这个问题吗?(Xcode 4.5.2,MacOS 10.8.2)

0 投票
0 回答
263 浏览

cocoa - iTunes 11 新用户界面

iTunes 11 引入了一个新的 UI 元素。它是工具栏下方的附加按钮行:

按钮行

这一新行的一个目的是替换 NSSegmentedControls。

它是如何调用的,我将如何使用 Xcode Interface-Builder 或代码构建它。

0 投票
1 回答
401 浏览

cocoa - NSTableView + NSSegmentedControl + NSSegmentSwitchTrackingSelectAny

我有一个表格视图,其中最右边的列有一个 NSSegmentedCell。

从中提取单元格的 NSSegmentedControls 使用“任何”跟踪模式(又名:多选),并且根据可能值为 1、2 和 4 的位域选择段。值为 1 表示 A|b |c。2是a|B|c。4是a|b|C。3 是 A|B|c 等等...

该位域由数据源的 tableView:objectValueForTableColumn:row: 方法返回,单元格在委托的 tableView:dataCellForTableColumn:row: 方法中返回。

在 tableView:dataCellForTableColumn:row: 中单独设置单元格不会做任何事情,因为表视图调用 tableView:objectValueForTableColumn:row: 之后就可以获取该列的值,然后使用它来设置“值”分段控制/单元。

问题就在那个时候。

看起来位域被误解为段的索引值:0 表示 A,1 表示 B,2 表示 C(和 -1 表示无选择)......假设单选。

如何进行此设置,以便表格视图正确设置多个段?(例如:位域 3 = A|B|c)

0 投票
1 回答
153 浏览

xcode - Xcode 4.6.1 中的段点击操作

在新版本的 Xcode 中,单击该段时看不到任何启动 IBAction 的方法。