问题标签 [nscell]
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.
cocoa - 覆盖 NSSearchField “清除字段”行为
我需要覆盖NSSearchField
使用“清除”按钮清除字段内容时发生的操作。
默认触发的选择器是私有的:_searchFieldCancel
。
[更新]
好的,我找到了解决方案。
但是,当单击“清除”按钮时,如何防止 searchField 辞去第一响应者的职务?
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 - 如何更改对焦环颜色?
在绘图功能中NSImageView
,我想设置我的自定义对焦环颜色,而不是默认的蓝色。我尝试了以下代码
但是颜色仍然是默认的蓝色。我该如何解决这个问题?
更新:NSShadow
班上帮我完成了添加对焦环。改变阴影颜色很容易。
我在 NSImageView 的绘制函数中对此进行了编码。
nstableview - 可可:NSCell 中用于 NSTableView 的自定义文本
我在NSCell
为NSTableView
. 下面是主窗口:
该窗口有一个表格视图,其中显示了一个图标、一个标题、一个进度指示器和一条消息。由于我的计算机是 10.6,我使用基于单元格的表格视图来实现它。自定义单元格基于 Apple 提供的 ImageAndTextCell。消息绘制如下:
msg
是单元格的副本 NSString 属性。我遇到了两个问题:
1 当我选择一个单元格时,消息将被关闭,就像:
只有你取消选择它,它会再次显示。我该怎么做才能解决它?
2 我需要自定义标题。如您所见,每个单元格都有一个标题,sae 或 IBM。它是委托返回的值:
我可以更改它的位置、颜色或字体吗?
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:
到被单击的单元格来部分响应"
如果我遗漏了什么,请告诉我——我用谷歌搜索了很多东西,没有任何用处。
macos - NSOutlineView,展开和折叠会导致单元格剪切内容
在快速扩展和折叠基于视图的 NSOutlineView 组期间,我遇到了奇怪的视觉伪影。如果一个组被展开,并且我双击(快速折叠然后展开)展开箭头,则内容被剪裁。我的单元格包含一个简单的图像和图像右侧的标签,并且在快速扩展时,文本字段在某些情况下会被剪裁,而在其他情况下会被压扁,就好像单元格在折叠时获得零宽度框架并且不会重新-扩张。我已经更改了 cellView、outlineRowView、列的自动调整大小掩码,但似乎没有任何组合可以改变行为。
有没有人遇到过类似的奇怪行为?
objective-c - 为什么 NSTableView 使用 NSCell 而不是 NSView?
这可能是一个一般性的讨论,而不是一个真正的问题。当我开始使用 NSTableView 和 NSOutlineView 时,我想:哦,NSView 的一个实例几乎可以做所有事情。所以我在我的委托和数据源中返回一个 NSView 实例。
当然,它不起作用,我意识到 NSTableView 包含直接从 NSObject 继承的 NSCell 实例。
我觉得理解 Cocoa 为什么基于 NSCell 而不是 NSView 构建 NSTableView 可能很重要。但很少有文件能解释清楚。因此我转向 Stackoverflow。有人知道吗?提前谢谢你!
cocoa - 拦截 NSTextFieldCell 中的按键操作
我有一个基于单元格的NSOutlineView
显示NSTextFieldCell
对象。
我想响应 keydown 或 keyup 事件,以便在文本包含某些预设关键字时使 NSTextFieldCell 中包含的文本变为粗体。实现这一目标的最优雅方法是什么 - 我应该:
- 继承 NSOutlineView 并覆盖 keydown 方法
- 子类 NSTextFieldCell
- 利用某种委托
- 利用其他方法
非常感谢大家提供任何信息!