NSTableView 文本字段单元格不应在单击时进入编辑状态
NSTableView textfield cell should not go into edit on click
我的应用程序中有两个 NSTableView
,它们都设置了相同的参数等,它们有几个包含 NSTextField
单元格的列,第一列是 editable.
第一个 table 的行为与我想要的一样:如果用户单击,则该行被选中。如果用户第二次单击该行,文本字段将进入编辑模式,让用户更改其中的文本。
第二个 table 的行为应该相同,但事实并非如此:如果我单击其中的一行,大多数时候它会直接进入文本字段的编辑模式。这种情况很少发生。
有谁知道这是什么原因造成的?我检查了所有参数(在 IB 中)和代码,它们在两个 table 上都是相同的。如果我在顽皮的 table 中的文本字段上设置 'Refuses first responder',它根本不允许我编辑文本字段,所以该选项没有帮助。
解决了!它在第一个 table 视图上工作但在第二个 table 上导致编辑问题的原因是第一个 table 允许拖动而第二个不允许!这似乎以某种方式干扰了 doubleAction
(我什至在某处读到 editable table 不能有 doubleAction
但它似乎可以正常工作)。我可以通过在第二个 table 视图的视图控制器中实现 tableView(_:writeRowsWithIndexes:toPasteboard:)
并简单地 return false
来修复它(因为 2. table 不应该有 drag'n '掉落能力) ...
func tableView(aTableView:NSTableView, writeRowsWithIndexes rowIndexes:NSIndexSet, toPasteboard pboard:NSPasteboard) -> Bool
{
return false;
}
我的应用程序中有两个 NSTableView
,它们都设置了相同的参数等,它们有几个包含 NSTextField
单元格的列,第一列是 editable.
第一个 table 的行为与我想要的一样:如果用户单击,则该行被选中。如果用户第二次单击该行,文本字段将进入编辑模式,让用户更改其中的文本。
第二个 table 的行为应该相同,但事实并非如此:如果我单击其中的一行,大多数时候它会直接进入文本字段的编辑模式。这种情况很少发生。
有谁知道这是什么原因造成的?我检查了所有参数(在 IB 中)和代码,它们在两个 table 上都是相同的。如果我在顽皮的 table 中的文本字段上设置 'Refuses first responder',它根本不允许我编辑文本字段,所以该选项没有帮助。
解决了!它在第一个 table 视图上工作但在第二个 table 上导致编辑问题的原因是第一个 table 允许拖动而第二个不允许!这似乎以某种方式干扰了 doubleAction
(我什至在某处读到 editable table 不能有 doubleAction
但它似乎可以正常工作)。我可以通过在第二个 table 视图的视图控制器中实现 tableView(_:writeRowsWithIndexes:toPasteboard:)
并简单地 return false
来修复它(因为 2. table 不应该有 drag'n '掉落能力) ...
func tableView(aTableView:NSTableView, writeRowsWithIndexes rowIndexes:NSIndexSet, toPasteboard pboard:NSPasteboard) -> Bool
{
return false;
}