How to change NSTextField background color in NSPopOver

前端 未结 3 1811
南旧
南旧 2020-12-06 17:35

\"enter

Mac OSX 10.10 Xcode 6.1

I created a tableview in NSPopOver. I try to

相关标签:
3条回答
  • 2020-12-06 18:18

    I really like @Prontto's solution but it does not work with NSImageView because it has no drawsBackground or backgroundColor.

    Fortunately the appearance option works for image views as well!

    cell.imageView?.image = image ?? nil
    cell.imageView?.appearance = NSAppearance(named: NSAppearanceNameAqua)
    
    0 讨论(0)
  • 2020-12-06 18:25

    There's a known bug with text fields and the "vibrancy" blending added in Yosemite. It's known to affect popovers.

    The workaround is to set the appearance property of the table view to NSAppearanceNameAqua.

    This was confirmed by an Apple engineer in their devforums.

    2019-05-09 EDIT:

    This issue also sometimes affects NSTextFields that appear on popovers where the background is grey. Here's the Swift 5 fix, add this to the viewDidLoad() function of your popover controller

    self.someTextField.appearance = NSAppearance.init(named: .aqua)

    0 讨论(0)
  • 2020-12-06 18:31

    In my app, I had same problem. I used Swift and this worked for me. In your viewForTableColumn:

    let cell = tableView.makeViewWithIdentifier(tableColumn!.identifier!, owner: self) as! NSTableCellView
        cell.textField?.drawsBackground = true
        cell.textField?.backgroundColor = NSColor.clearColor()
    
    0 讨论(0)
提交回复
热议问题