问题标签 [nsmatrix]

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

objective-c - 以编程方式选择 NSMatrix 的项目

如何以编程方式选择 NSMatrix 中的一项?我相信它是一个 NSControl,所以我正在查看那个特定的文档,但是我找不到关于特定主题的任何信息。

0 投票
0 回答
314 浏览

selection - 在 NSMatrix 中以编程方式取消选择单元格不起作用

我希望能够从我的程序中取消选择 NSMatrix 中的所有单元格。
我正在使用deSelectAllCells,但它不能正常工作。它总是至少选择一个单元格。

更具体地说,我已经尝试了所有可能的模式设置,但似乎没有效果。我也尝试将allowEmptySelection设置为YES,但没有任何效果。我正在使用 mouseDown、mouseUp 和 mouseDragged 来控制选择的工作方式,并允许用户选择单元格、行或列。也允许与命令键组合。

一旦做出选择,用户就从单独的窗口中选择一个动作。单击窗口时,最后一个选择变为灰色,并且在操作中调用 deSelectAllCells 后,所有选择都将被删除,除了灰色的选择。如果现在单击矩阵窗口,灰色选择将返回默认选择颜色。即使只有一个选择,也会发生相同的行为。

0 投票
2 回答
2014 浏览

objective-c - 如何更改 IBAction 中 NSMatrix 的选择?

我有NSRadioModeMatrix3个细胞。- (IBAction) EnableProxy:(id)inSender连接到NSRadioModeMatrix

当条件为真时。选择将返回到标签 2(旧的选定单元格)。示例项目

0 投票
0 回答
906 浏览

objective-c - 以编程方式设置 NSMatrix 选择在尝试稍后获取选定单元格时导致互斥锁

概述

我在 Mac OS X Cocoa 应用程序中看到一个奇怪的问题,我正在使用 Xcode 4.3.2 开发并在 Mac OS X 10.7.5(针对 Mac OS X 10.6)上进行测试:我有一个基本的 NSMatrix 无线电组主 NIB 在我的主控制器中具有一个出口和一个动作,但也用于其他两种方法(也在主控制器中)。该操作将选定的标签保存到 NSUserDefaults 并启用/禁用一个 NSTextField 基于它被选中,一种方法是首选项加载器,因此在加载时按标签选择一个单元格,另一种方法查找它为其他逻辑选择的标签(代码下面的示例)。

基本的东西,但在一种情况下(仅以编程方式选择 NSMatrix 中的单元格,而不是通过单击 GUI 中的单选按钮),应用程序 PWOD 处于互斥锁中。

代码和功能

我在下面重命名了变量和方法,但没有更改代码的任何其他结构。passwordRadioGroupNSMatrix*IBOutlet。

当应用程序启动时,我的主控制器会收到一条applicationDidFinishLaunching消息,然后将 loadPasswordSettings消息发送给它自己。loadPasswordSettings然后发送[[passwordRadioGroup selectedCell] tag]和发送[passwordRadioGroup selectCellWithTag:]。这可以正常工作,并且在 GUI 中选择了正确的单选按钮。它最终调用[self selectPasswordType:passwordRadioGroup(它也成功调用[[passwordRadioGroup selectedCell] tag])并适当地启用/禁用文本字段并将标签写回 NSUserDefaults(通常,但并不总是多余的)。

您可以选择任何单选按钮,它会向selectPasswordType:我的主控制器发送一条消息(将其传递给我的实例passwordRadioGroup;我已经在调试器中验证了内存地址并可以检查它的 ivars)。这成功调用[[passwordRadioGroup selectedCell] tag]并将标签保存到 NSUserDefaults。

您可以根据需要多次执行上述两项操作,而不会出现问题。退出和重新启动正确地将单选按钮恢复到您上次离开的状态,因此它绝对正确地获取选定的标签,将其存储在 NSUser 默认值中,从 NSUserDefaults 中检索它,并在 NSMatrix 上按标签设置选定的单元格。

这就是它变得古怪的地方:

还有另一个按钮,当单击它时,它会执行一系列其他工作,然后最终将generateUserPassword消息发送给自身以生成密码(同样,这一切都在主控制器中并在主线程中运行)。它做的第一件事是什么?来电[[passwordRadioGroup selectedCell] tag]。好吧,您可以安全地随心所欲地执行此操作,如上图所示,对吧?

如果您选择其中一个单选按钮,因此通过 GUI 更改所选单元格并将selectPasswordType:消息再次发送到我的主控制器,是的。你不会遇到任何问题(虽然,我承认它看起来有点慢,而且 PWODs 一秒钟)。

如果您在启动后单击 NSMatrix(因此不会再次从 GUI 强制选择/操作),则该[[passwordRadioGroup selectedCell] tag]调用generateUserPassword将立即 PWOD。如果我在 Xcode 的调试器中点击暂停按钮来查看它的位置,它总是在主线程中psych_mutexwait(从 调用)。class_lookupMethodAndLoadCache如果selectPasswordType:没有以编程方式调用并且能够[[passwordRadioGroup selectedCell] tag]毫无问题地运行,我至少会剩下一些理智。

帮助!

重申一下,我已经在调试器中完成了这一点,并且可以验证内存地址和 ivars 确认passwordRadioGroup没有从我下面被更改,也没有被释放(我已经尝试了 & 没有启用“僵尸对象” )。我的主控制器中唯一的引用passwordRadioGroup是上面看到的那些。谷歌搜索各种 NSMatrix/radio/ selectCellWithTag/ selectedCell/ selectedTag/ class_lookupMethodAndLoadCache/mutex 术语/组合并没有取得成果。

任何解决方案、故障排除建议或想法将不胜感激。如果应得的话,也欢迎为愚蠢打耳光。

0 投票
2 回答
585 浏览

cocoa - NSMatrix 隐藏在 10.7 Lion 上

我在我的应用程序的不同位置有两个NSMatrix无线电控件。我正在 10.8 上开发,使用 10.8 SDK 并以 10.7 为目标。这些矩阵在我的开发计算机上完美运行,但是当我在运行 10.7 的 Mac 上进行测试时,两个矩阵都没有出现。我检查了自动布局支柱,我确保它们没有设置为隐藏。他们根本就没有出现。

0 投票
2 回答
886 浏览

ios - 获取对象 C 中 NSRadioButton 中的选定单元格

我创建单选按钮有 2 行和 1 列并为其设置操作但它工作不正确,它总是选择单元格标记 = 0。这是我的代码:

你能帮助我吗?提前致谢

0 投票
0 回答
178 浏览

macos - 如何在 NSBrowser 中设置自定义 NSMatrix

我正在尝试为 NSBrowser 自定义背景颜色。为此,我尝试子类化 NSMatrix,使用 setMatrixClass: 将新类设置为列的矩阵类,然后以某种方式自定义矩阵,可能使用 drawRect:。

我可以使用断点验证 NSBrowser 将自定义类设置为它的 matrixClass。但是,矩阵类中没有断点被命中(我已经覆盖了所有 4 个构造函数,drawRect、drawLayer 和 awakeFromNib 作为测试)。什么都没有发生,就像我的 NSBrowser 忽略了 matrixClass。

我尝试将 NSBrowser 的矩阵类设置为 NSApplication 只是为了看看是否会发生任何事情。再一次,没有结果。当然这应该导致某种崩溃?setMatrixClass: 是否有效?

0 投票
1 回答
1238 浏览

objective-c - 如何取消选择可可中的单选按钮

我是新手。我对 NSMatrix 有疑问。我创建了多个 NSMatrix 但我想先加载,他们没有检查。我使用此代码创建它们,但它总是检查。

有任何想法吗?非常感谢

0 投票
1 回答
866 浏览

objective-c - 如何在 XCode5(可可)中通过标签以编程方式选择 NSMatrix 收音机

我正在为 MacOSX 开发一个应用程序,并且正在创建一个 NSMatrix(单选按钮),如下所示:

我接下来要做的是以编程方式选择选项七,但基于其自己的标签(7)如何做到这一点???

0 投票
1 回答
108 浏览

nsmatrix - 用于电子表格实施的 NSMatrix?

好的,所以我想使用 NSMatrix 实现与此图像类似的东西。

在此处输入图像描述

我的“桌子”会很大(可双向滚动)。

我意识到 NSMatrix 单元的大小都相同的先决条件。

这是一个建议的解决方案:

  1. 白细胞构成主要的 NSMatrix
  2. 深灰色标题单元格的顶行(最左边的除外)是另一个 NSMatrix
  3. 最左边的一列单元格(包括最上面的一列)是另一个 NSMatrix。

我会将白色单元格嵌入到 NSClipView/NSScrollView 中,并带有可见的滚动条。我还将类似地嵌入顶部和左侧矩阵,但使用单独的 NSClipView/NSScrollView 对,没有可见的滚动条。

然后,主要的可见 NSScrollView 将酌情通知其他 NSScrollView 的移动。

这是这个问题的典型解决方案吗?还是有其他一些我不知道的自定义视图?

另一件事:如果主 NSMatrix 的内容绑定到 NSArrayController,那么矩阵的 2D 特性如何用一维 NSArray 充实?