Kau*_*eya 10 macos cocoa nstableview nspopover
免责声明:这个问题是一个扩展到这个问题
我正在尝试在NSPopover中填充表格.(如图所示)
问题:
我无法为NSTextField创建透明背景.
奇怪的是,如果将视图附加到NSWindow,它的工作正常
(左侧窗口中的名称具有透明背景,但在NSPopover中看到的相同视图无法向NSTextfield显示透明背景.)

这是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
}
Run Code Online (Sandbox Code Playgroud)
Tay*_*lor 13
这是一个问题,文本字段被充满活力地渲染,导致其周围的表视图的白色背景也被充满活力地呈现.这种活力会导致plusL混合模式,因此变得不可见.
这只发生在弹出框中,因为这是一个充满活力的上下文,NSAppearanceNameVibrantLight默认情况下设置为外观.
来自WWDC2014的会话209和220讨论了关于活力的更多内容,以及关于NSVisualEffectView/vibrancy的10.10发行说明.
要解决此问题,可以将表视图的NSAppearanceNameAqua外观设置为外观.
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |