Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 为什么NSTextField';s字段编辑器继承其文本颜色';当它';其他配置是什么?_Swift_Cocoa - Fatal编程技术网

Swift 为什么NSTextField';s字段编辑器继承其文本颜色';当它';其他配置是什么?

Swift 为什么NSTextField';s字段编辑器继承其文本颜色';当它';其他配置是什么?,swift,cocoa,Swift,Cocoa,我的NSTextField的textColor为white且不可编辑。单击标签时,我将NSTextField设置为isEditable=true。再次单击标签会将其置于编辑模式。我有一个字段编辑器等 之前或编辑它看起来像这样: 我正在对我的NSTextField进行子类化,以便像这样配置该字段编辑器: override func becomeFirstResponder() -> Bool { let value = super.becomeFirstResponder()

我的
NSTextField
textColor
white
且不可编辑。单击标签时,我将
NSTextField
设置为
isEditable=true
。再次单击标签会将其置于编辑模式。我有一个字段编辑器等

之前或编辑它看起来像这样:

我正在对我的
NSTextField
进行子类化,以便像这样配置该字段编辑器:

override func becomeFirstResponder() -> Bool {
    let value = super.becomeFirstResponder()

    if value == false {
        return value
    }

    if let fieldEditor = currentEditor() as? NSTextView {

        fieldEditor.backgroundColor = NSColor.white
        fieldEditor.drawsBackground = true
        fieldEditor.textColor = NSColor.black
    }


    return value
}
您可以从上面的代码中看到,我正在将字段编辑器的
textColor
设置为
black
。当我进入编辑模式时,我得到了预期的行为:

到目前为止还不错。输入问题:任何新的击键都将反映为
white
文本:

在下面的示例中,我突出显示了字段的内容,以显示白色文本:

所以看起来,即使我设置了
fieldEditor.textColor=NSColor.black
并且我看到了黑色,字段编辑器还是在继承
NSTextField
的文本颜色以进行新的输入

如果在编辑器配置中执行此操作,请记住这是在NSTextField子类中:

fieldEditor.backgroundColor = NSColor.white
fieldEditor.drawsBackground = true
fieldEditor.textColor = NSColor.black
textColor = NSColor.black // <-------     
fieldEditor.backgroundColor=NSColor.white
fieldEditor.drawsBackground=true
fieldEditor.textColor=NSColor.black

textColor=NSColor.black//单元格在
成为第一响应程序
设置字段编辑器属性后设置字段编辑器(
NSTextView
)的键入属性。啊,因为它最后从单元格提取设置,所以它赢了。您的解释解释了该行为,以确保我想知道他们为什么允许您设置字段编辑器的textColor?这只是一个NSTextView,我想他们为什么不呢。由于字段编辑器是共享的,因此它们会提取单元格属性,使其与目标匹配是有意义的。您应该将其作为答案提交,这样我就可以接受它作为答案。单元格在
成为第一响应者
设置字段编辑器属性后设置字段编辑器(
NSTextView
)的键入属性。啊,因为它最后从单元格中提取设置,所以它获胜。您的解释解释了该行为,以确保我想知道他们为什么允许您设置字段编辑器的textColor?这只是一个NSTextView,我想他们为什么不呢。由于字段编辑器是共享的,因此它们会提取单元格属性,使其与目标匹配是有意义的。你应该把它作为答案提交,这样我就可以接受它作为答案。