I'm sorry, LCS, but I'm not sure that's correct. What I understand is that it's simply a matter of NSView's allowsVibrancy property, called at every draw cycle. Subviews of a visual effect view can stop vibrancy from happening by returning false or opt in by returning true. I'm not sure what the default is. Once a subview has been declared as allowing vibrancy, however, all of its subviews must be vibrant as well. Check out the
I looked at your screenshot and I'm not sure exactly what you need help with. Are you trying to keep your logo distinct and black even if it's on a dark vibrant background? Or are you trying to get it to invert to white when in a dark vibrant background?
It's perfectly okay for you to put your image well inside the visual effect view. The question is how to control whether or not the image well allows vibrancy. You could subclass and override the method, but there's a simpler way: whether or not the image is a template. Template images are used solely for their alpha values and are assigned appearances based on context (e.g. on your light background it will be dark; on your dark background it will be light). If you're looking for that adaptive behavior, just change your resource's file name so that it ends with "Template" or call image.template = true after it's created. If you're looking for the same behavior regardless of context, make sure your image isn't a template.
I've tried disabling vibrancy using sibling views instead of child views before, but that hasn't worked for me.
If you still need help, I'll be available.
NSVisualEffectView class reference:
https://developer.apple.com/library/prerelease/mac/documentation/Foundation/Reference/NSVisualEffectView_Class/index.html#//apple_ref/doc/uid/TP40014765
You also should look at the "Adopting Advanced Features of the New UI of OS X Yosemite" video from WWDC 2014 for a thorough discussion of your problem.
https://developer.apple.com/videos/wwdc/2014/