问题标签 [fieldeditor]

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

cocoa - 在 NSTextField 中禁用 Option-Enter 换行符?

我想禁止在我的 NSTextField 中输入换行符,默认情况下可以通过键入 Option-Enter(或 Option-Return)来实现。

虽然我发现一些 页面解释了如何在不使用 Option 修饰符的情况下允许换行符,但我找不到任何可以完全禁用换行符的内容。

如何才能做到这一点?

0 投票
1 回答
732 浏览

objective-c - 子类化 NSTextField 以创建一个号码拨号文本字段

我正在尝试创建一个号码拨号文本字段,即与旁边的 NSStepper 一起工作的文本字段。

文本字段应该显示浮动,并允许用户使用滚轮来调整它显示的数字以及向上和向下箭头键以达到相同的效果。

它还应该根据按下的修饰键切换到不同的增量。稍后我可能会实现一种行为,当用户在按下 alt 的同时将鼠标向左或向右拖动到文本字段上时,它将确定插入插入符号的位置(在数字的哪个数字),并且只增加该数字,以便用户可以快速更新个、十、百等部分。

虽然修饰键和鼠标拖动细节只是细节,但我的问题更关注以最不显眼的方式实现这一点的基本原理,以便绑定和其他功能仍然可以继续工作。

到目前为止,我得到了一个 NSTextField 的子类(在 IB 中的单元格上附加了一个数字格式化程序)和一个 NSTextView 的子类,用作号码拨号文本字段的字段编辑器。这样我就可以覆盖 keyDown: 以使箭头键更新发生。

问题是从窗口的委托的 windowWillReturnFieldEditor:toObject: 为号码拨号文本字段返回此字段编辑器似乎破坏了绑定,并且通常感觉我不应该这样做。

我会以错误的方式解决这个问题吗?

PS.:你可以在http://gist.github.com/361265找到子类代码 我不确定我是否应该在这里发布。

0 投票
5 回答
2633 浏览

objective-c - NSTableView 中 NSTextFieldCell 的自定义字段编辑器

我有一个自定义NSTableView子类,里面有几个自定义NSTextFieldCell子类。我希望能够使用箭头键更改已编辑的单元格。

我可以通过创建自定义字段编辑器(通过子类NSTextView化)并从窗口委托返回它来实现这一点,如下所示:

MyNSTextViewSubclass中,我重写了moveUp:moveDown:moveLeft:moveRight:方法来实现我想要的功能,并且一切正常。唯一的问题是字段编辑器不再像文本字段单元格编辑器那样运行。例如,当我按下 Enter 键时,它会在文本字段中插入换行符,而不是结束编辑。

如何创建一个自定义字段编辑器,该编辑器的响应与默认字段编辑器的响应完全相同NSTextFieldCell(除了我将覆盖的这四个函数)?或者有没有更好的方法来改变moveUp:moveDown:moveLeft:和的功能moveRight:

编辑:字段编辑器似乎在选择文本字段进行编辑时将其设置为其委托。在这种情况下,按照此处所述附加到control:textView:doCommandBySelector:委托方法可能会有所帮助,但是当我在我的子类或我的子类中实现该函数时,它永远不会被调用。为什么不?NSTextFieldCellNSTableView

0 投票
1 回答
1055 浏览

cocoa - 找出字段编辑器的 NSTextField

我用

提供我自己的字段编辑器,以便我可以显示自定义上下文菜单。这可行,但是在我的字段编辑器的“menuForEvent:”方法中,我如何找到它附加到哪个 NSTextField?

编辑:好的,我发现我在 TextView 中通过

问题是 - 这是一个好的解决方案还是一个黑客。我必须跳过 _NSKeyboardFocusClipView 类的内部响应程序,所以我担心这可能不适用于未来的 Cocoa 版本。

0 投票
2 回答
1063 浏览

cocoa - 带有透明字段编辑器的 NSOutlineView

我正在使用位于 HUD 面板上的 NSOutlineView。我对其进行了配置,使其不绘制背景。一切看起来都很好,直到我双击编辑一个单元格。字段编辑器绘制其背景和焦点环,这完全破坏了整个用户体验。

这就是我在 NSTextFieldCell 的子类中所做的:

如果我使用 setDrawsBackground:NO 它会被完全忽略,我会得到一个白色的背景。我的解决方案远非好,因为我无法触摸颜色的 alpha 分量(如果我这样做,字段编辑器将再次使用另一种颜色作为背景),但至少我没有得到白色背景。

我想知道这个问题是否有实际的解决方案。我必须提供自己的字段编辑器吗?这值得么?

我想要的只是一个没有背景和焦点环的字段编辑器,只是光标闪烁。

谢谢!

0 投票
1 回答
186 浏览

cocoa - NSTextFieldCell 的垂直扩展 fieldEditor

NSWindows 有一个与之关联的“字段编辑器”,它与NSTexta 出现在同一位置,NSTextField或者NSTextFieldCell当用户关注上述控件时。

字段编辑器的大小与NSTextField或相同NSTextFieldCell。当用户输入更多文本时,我需要扩展字段编辑器。

关于如何做到这一点的任何提示?

0 投票
1 回答
596 浏览

java - 组合字段编辑器。动态改变值

我正在开发一个 Eclipse RCP 项目。当我进行演练时,我遇到了偏好页面并开始解决它。

现在我需要ComboFieldEditor动态更改值。就像我在 a 上进行选择时一样,必须更改TextFieldEditor的值。ComboFieldEditor我尝试寻找答案,甚至尝试了我在 Stack Overflow 上找到的解决方案之一,但我总是以NullPointerException. 有人可以在这方面帮助我吗?

从技术上讲,我想ComboFieldEditor动态更改值。例如,当触发侦听器时,我想将新值放入我的组合框中。我尝试了这个解决方案,但我一直得到一个NullPointerException.

0 投票
1 回答
1211 浏览

cocoa - Cocoa:阻止字段编辑器在空格键上自动完成

我有一个带有几个NSTextField控件的自定义视图,我想为其提供自定义自动完成功能,并且我已经使用NSTextFieldDelegate协议成功实现了所有这些。自动完成是全名或地名,具体取决于正在编辑的文本字段。

问题是自动完成几乎总是包含一个空格字符,因此如果用户正在输入与建议匹配的内容,但不想接受该建议,则字段编辑器将在用户按下空格键时接受该建议. 我希望字段编辑器仅使用 tab 键接受建议。

我知道这将涉及子类化NSTextView以提供自定义字段编辑器,Apple 将其记录为可接受的方式,但是我不清楚我需要重写哪些方法以及重写的方法需要做什么,以便给我我想要的。

谁能建议这是如何实现的?

0 投票
1 回答
342 浏览

objective-c - 在 NSScrollView 中嵌入字段编辑器

有没有人有过在滚动视图中嵌入字段编辑器(用于 NSTextField)的经验?我试图在编辑时使 NSTextField 可滚动。

我尝试过的事情:

  1. -becomeFirstResponder当自定义字段编辑器被调用时动态嵌入它。这个半作品;问题是当 NSTextField 在编辑期间调整大小时,自定义字段编辑器不再调整大小(我需要这个 - 制作手风琴风格的应用程序)

  2. 从 NSScrollView 创建一个“伪装”字段编辑器,并使用 NSInvocation 将方法转发到实际的代理字段编辑器。这是我真正希望可行的方法;我已经实现了这里列出的所有方法;但是EXC_BAD_ACCESS每当实际加载字段编辑器时(例如,当我调用时[customTextField selectText:nil]),我都会得到一个。即使启用了 Zombies,我似乎也无法从调试器中撬出任何信息,并且查看日志NSObjCMessageLoggingEnabled也不会产生任何结果。看起来这些家伙成功了,但那是七年前的事了。

最后的手段是完全放弃 NSTextFields 并使用 NSTextViews (或者不依赖于字段编辑器机制,自己编写一个),但由于我有很多行数据,一次只能编辑一个,我不不想为它们中的每一个实例化一个 NSTextView ......但是,也许它不会那么糟糕。

0 投票
1 回答
1139 浏览

cocoa - 选择时更改了 NSTextFieldCell 的文本属性

我有一个表格视图,在该表格视图上选择一行的一列将调用重写方法

我还返回单元格的字段编辑器,如下所示:

选择单元格时,单元格内的文本会更改其属性。就像,字体大小、字体、字体样式等会相应地发生变化,当文本处于选择模式时,我似乎无法控制它。即使在选择之后我也不想更改其字体属性如何避免文本属性的这种更改?