gpt4 book ai didi

macos - NSTextfield NSPopover 的透明背景

转载 作者:行者123 更新时间:2023-12-03 16:04:38 25 4
gpt4 key购买 nike

免责声明:这个问题是this的延伸问题

我正在尝试填充 NSPopover 中的表格。(如图所示)

<小时/>

问题:
我无法为 NSTextField 设置透明背景。

奇怪的是,如果 View 附加到 NSWindow 则工作正常

<小时/>

(左侧窗口中的名称具有透明背景,但在 NSPopover 中看到的相同 View 无法向 NSTextfield 显示透明背景。) enter image description here

这是 NSPopover 中的错误还是我做错了什么?

<小时/>

这是我创建表格单元格的代码

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
}

最佳答案

这是文本字段渲染得生动的问题,导致其周围的表格 View 的白色背景也渲染得生动。这种活力会导致 plusL 混合模式,因此变得不可见)。

这只发生在弹出窗口中,因为这是一个充满活力的上下文,并且默认设置为 NSAppearanceNameVibrantLight 外观。

WWDC2014 的第 209 和 220 场 session 详细讨论了活力,以及有关 NSVisualEffectView/活力的 10.10 发行说明。

<小时/>

要解决此问题,您可以将 TableView 的外观设置为 NSAppearanceNameAqua 外观。

关于macos - NSTextfield NSPopover 的透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29493333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com