NSTextfield NSPopover透明背景
Transparent background of NSTextfield NSPopover
免责声明:此问题是 this 问题
的扩展
我正在尝试在 NSPopover 中填充 Table。(如图所示)
问题:
我无法为 NSTextField 制作透明背景。
奇怪的是,如果将视图附加到 NSWindow,它工作正常
(左侧 window 中的名称具有透明背景,但在 NSPopover 中看到的相同视图无法向 NSTextfield 显示透明背景。)
这是 NSPopover 的错误还是我做错了什么?
这是我创建 Table 个单元格的代码
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
var cell = NSTableCellView(frame: NSMakeRect(0, 0, 100, 40))
var textField = NSTextField(frame: NSMakeRect(0, 0, 50, 20))
// **For transparency**
textField.stringValue = nameList[row]
textField.bezeled = false
textField.editable = false
textField.drawsBackground = false
cell.addSubview(textField)
return cell
}
这是一个问题,文本字段被渲染得很鲜艳,导致 table 视图周围的白色背景也被渲染得很鲜艳。这种活力导致 plusL 混合模式,因此变得不可见)。
这只发生在弹出窗口中,因为它是一个充满活力的上下文,并且默认设置为 NSAppearanceNameVibrantLight
外观。
WWDC2014 的第 209 和第 220 次会议讨论了更多关于活力的内容,以及关于 NSVisualEffectView / 活力的 10.10 发行说明。
要解决此问题,您可以将 table 视图的外观设置为 NSAppearanceNameAqua
外观。
免责声明:此问题是 this 问题
的扩展我正在尝试在 NSPopover 中填充 Table。(如图所示)
问题:
我无法为 NSTextField 制作透明背景。
奇怪的是,如果将视图附加到 NSWindow,它工作正常
(左侧 window 中的名称具有透明背景,但在 NSPopover 中看到的相同视图无法向 NSTextfield 显示透明背景。)
这是 NSPopover 的错误还是我做错了什么?
这是我创建 Table 个单元格的代码
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
var cell = NSTableCellView(frame: NSMakeRect(0, 0, 100, 40))
var textField = NSTextField(frame: NSMakeRect(0, 0, 50, 20))
// **For transparency**
textField.stringValue = nameList[row]
textField.bezeled = false
textField.editable = false
textField.drawsBackground = false
cell.addSubview(textField)
return cell
}
这是一个问题,文本字段被渲染得很鲜艳,导致 table 视图周围的白色背景也被渲染得很鲜艳。这种活力导致 plusL 混合模式,因此变得不可见)。
这只发生在弹出窗口中,因为它是一个充满活力的上下文,并且默认设置为 NSAppearanceNameVibrantLight
外观。
WWDC2014 的第 209 和第 220 次会议讨论了更多关于活力的内容,以及关于 NSVisualEffectView / 活力的 10.10 发行说明。
要解决此问题,您可以将 table 视图的外观设置为 NSAppearanceNameAqua
外观。