Como posso escurecer tudo exibido em uma única NSView?
Pergunta
Fundo: Meu aplicativo tem uma janela principal que contém alguns objetos NSView
menores, cada uma das quais contém vários controles diferentes, rótulos, imagens, etc. Um destes pontos de vista (e tudo o que ele contém) é desativado em resposta a uma determinada bandeira. Quando a bandeira está definido, eu automaticamente desativar e cinza-out todos os controles embutidos dentro desse NSView
.
Pergunta: eu gostaria de saber como Escurecer o NSView
desativado. O efeito que eu estou procurando seria algo como desenhar uma caixa preta transparente 50% em cima do NSView
desativado. O pano de fundo e todos os controles ainda seria visível, mas as cores seria um tom mais escuro. Existe uma maneira simples de fazer isso?
Solução
CoreAnimation em 10,5 deve fornecer uma maneira fácil de colocar uma camada translúcida acima de um ponto de vista. Você pode criar uma camada preta na frente da vista, com a opacidade em 0%. Quando você quiser escurecer a vista, defina a opacidade da camada de preto para 50%, ea vista será escurecido sem problemas.