lukakerr / NSWindowStyles

A showcase of the many different styles of windows possible with NSWindow on macOS
https://lukakerr.github.io/swift/nswindow-styles
Apache License 2.0
1.12k stars 40 forks source link

don't see control #2

Open thierryH91200 opened 6 years ago

thierryH91200 commented 6 years ago

why I don' see the nstableview

I forgot something ?

// 4 let visualEffect = NSVisualEffectView() visualEffect.blendingMode = .behindWindow visualEffect.state = .active visualEffect.material = .dark window?.contentView = visualEffect // window?.titlebarAppearsTransparent = true window?.styleMask.insert(.fullSizeContentView)

capture d ecran 2018-03-28 09 05 22

PedroCavaleiro commented 4 years ago

Did you ever solved this problem? I'm currently having the same issue and I'm not finding how to fix it

thierryH91200 commented 4 years ago

not resolved i don't know what to do

DaveFlashNL commented 3 years ago

doesn't seem like it, any element is rendered behind the window. I tried it with a button that's supposed to open a file dialog, no button visible only it's tab-selector border, as you can see in this image: Schermafbeelding 2020-10-02 om 22 20 41

^this is my awesome one button app. which as the name suggests is an icon tester, the file dialog, in the previous app, not based on the new window style, would let you select an icns file and it would update itself with that on the fly.... but alas, the button can be selected, but not seen nor clicked.

iSapozhnik commented 3 years ago

I've been checking example 5 (that is what I needed for my app) and indeed whenever I put something on the view controller's view - its not visible.

here is the code I came up with to make ViewController's content visible:

//    5
    let visualEffect = NSVisualEffectView()
    visualEffect.translatesAutoresizingMaskIntoConstraints = false
    visualEffect.blendingMode = .behindWindow
    visualEffect.state = .active
    visualEffect.material = .dark
    window?.contentView?.addSubview(visualEffect, positioned: .below, relativeTo: window?.contentView?.subviews.first)

    guard let constraints = window?.contentView else {
      return
    }

    visualEffect.leadingAnchor.constraint(equalTo: constraints.leadingAnchor).isActive = true
    visualEffect.trailingAnchor.constraint(equalTo: constraints.trailingAnchor).isActive = true
    visualEffect.topAnchor.constraint(equalTo: constraints.topAnchor).isActive = true
    visualEffect.bottomAnchor.constraint(equalTo: constraints.bottomAnchor).isActive = true

    window?.styleMask.remove(.titled)
    window?.isMovableByWindowBackground = true

and that's how it looks: image

The key here is this line: window?.contentView?.addSubview(visualEffect, positioned: .below, relativeTo: window?.contentView?.subviews.first)

Hopefully that can help you guys solve you problems.