- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有基于 View 的 NSTableView 的 View (它本身有一个带有单个文本字段的单元格 View )以及 TableView 外部的一些按钮和文本字段。其中一个按钮将一个对象添加到 TableView 的数据源中,并将行插入 TableView 后,立即使其可编辑。
如果用户输入文本并按下返回键,我会收到 - (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor
委托(delegate)方法,我可以运行我的验证并保存该值。但是,如果用户选择 TableView 之外的任何其他按钮或文本字段,则不会调用委托(delegate)。
检测 NSTableCellView 内的文本字段失去焦点的最佳方法是什么,以便我可以在 tableview 条目上运行一些验证代码?
最佳答案
如果我理解正确,您希望在以下情况下触发 control:textShouldEndEditing:
通知:
我过去使用的一种方法是在文本字段可供用户编辑之前,对与文本字段关联的字段编辑器进行无关紧要的编程更改。下面的代码片段展示了如何执行此操作 - 这是上述场景中的步骤 2/步骤 3:
func tableViewSelectionDidChange(notification: NSNotification) {
if justAddedToArrayController == true {
// This change of selection is occurring because the user has added a new
// object to the array controller, and it has been automatically selected
// in the table view. Now need to give focus to the text field in the
// newly selected row...
// Access the cell
var cell = tableView.viewAtColumn(0,
row: arrayController.selectionIndex,
makeIfNecessary: true) as NSTableCellView
// Make the text field associated with the cell the first responder (i.e.
// give it focus)
window.makeFirstResponder(cell.textField!)
// Access, then 'nudge' the field editor - make it think it's already
// been edited so that it'll fire 'should' messages even if the user
// doesn't add anything to the text field
var fe = tableView.window?.fieldEditor(true, forObject: cell.textField!)
fe!.insertText(cell.textField!.stringValue)
}
}
关于macos - NSTableCellView 中的 NSTextField - 结束失去焦点的编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27322855/
我有一个相当基本的MainWindow.xib带有源列表样式的侧边栏。我通过将 Source List 模板拖到窗口中来创建它,该窗口已经包含两个 NSTableCellView s: HeaderC
我正在使用菜单项将列文本字段设置为可编辑。这就是我尝试过的,但根本没有响应(没有文本变为可编辑)。 (我已经登录,并且调用了该方法,并且文本字段不为空。) - (IBAction)setEditabl
是否可以编译包含 NSTableCellView 引用的 Snow Leopard 应用程序,即使包含 NSTableCellView 引用的窗口从未显示? (如果检测到雪豹,IE 会显示不同的 Vi
在我的自定义 NSTableCellView 中,我以这种方式重写 -(void)drawRect (我这样做是因为我有 NSWindow 的图案图像背景。我只需要在 cellView 中显示 NSL
我正在尝试获取一个自动布局约束,以便在 NSTableCellView 中使用动画进行更新。约束可以正常更新,但动画不会发生这种情况。 下面的代码在tableView(_ tableView: NST
我有一个基于 View 的 NSTableView .我定位了 textField和 NSTableCellView 中的其他元素在带有自动布局的 Interface Builder 中。如何根据自动
如何从 NSTableView 中手动删除 NSTableCellView(或其子类)? 当我清空保存信息的数组,将新信息排队到数据库,然后重新加载表数据时,它只会更新具有与新数组列表中找到的索引值类
我用的是简单的 NSTableViewDelegate ,在 GetViewForItem 方法中我找到了 Identifier NSTableCellView view = (NSTableCell
我在 IB 中向 NSTableCellView 添加了一个额外的新标签。 如何连接这个新字段,以便我可以像 tableView.make 中的内置字段“textfield”一样访问它( withId
我创建了 NStextField 的子类,它可以扩展和收缩以适应文本中的更改。这是代码: - (NSSize)sizeToFitContent { NSRect frame = [self f
当您突出显示一行时,左键或右键单击突出显示的单元格,它将进入编辑模式(即使在 X 秒没有事件后,因此这不是双击操作)。 我想禁用此功能并使其仅在双击时才起作用,即使您已经选择了该单元格。 如果这是不可
我正在尝试创建一个自定义 NSTableCellView。我对 NSTableCellView 进行了子类化,并且需要自定义背景颜色和突出显示/选择颜色。有办法做到这一点吗? 最佳答案 背景和选择由
我将图像和文本表单元格 View 添加到 IB 中的 NSTable。 Text Table Cell View中有一个TextFiled和一个ImageView,所以我的代码如下所示: - (NSV
我创建了一个带有单列的基于 View NSTableView。此列使用 Interface Builder 中的标准 NSTableCellView 进行填充(我选择了带有图像和文本字段的版本)。 现
我已经子类化了 NSTableCellView 来进行一些自定义绘图。当包含的 NSOutlineView 的突出显示样式设置为 None 时,我的 View 会收到 mouseDown 事件。 当我
我有一个基于 View 的 NSTableView 和一个自定义 NSTableCellView。这个自定义的 NSTableCellView 有几个标签(NSTextField)。 NSTableC
我想以编程方式将焦点设置在连续一列的表格中 NSTableCellView 中的两个编辑字段之一上,以便用户可以立即编辑该字段。在我的示例中,我可以选择该行(按下按钮后),但我找不到将焦点设置在特殊字
我尝试使用 NSGridView 来布局 NSTableCellView 像这样 class GridItemCV: NSTableCellView { var grid : NSGridView?
我确实正在尝试解决这个特定问题。已经很久了。 我有一个 Mac 应用程序,它完全位于状态栏中。每当我通过单击状态栏图标打开应用程序时,弹出窗口都会打开 contentViewController。 c
我尝试将 NSPopUpButton 垂直放置在表格单元格的顶部 - 但没有成功。它保持垂直居中: 返回 NSPopUpButtons 的代码: extension ViewController:NS
我是一名优秀的程序员,十分优秀!