NSAppearance决定着AppKit如何渲染每个UI控件的效果,尤其是与颜色或者图片相关的部分....:
template 设置规则
需要忽略的部分使用透明背景
需要显示的部分使用黑色或者部分透明的黑色
设置图片的渲染模式为Template:
设置图片渲染模式...中的代码进行图片创建,从而实现适配效果;
0x03: 自定义View 适配(NSView)
当改变当前的appearance时,AppKit会自动调用NSView的下面几个方法(根据情况调用)
updateLayer...适配,苹果官方建议采用根据使用明确场景语义枚举.例如在一个popOver的窗口中,推荐使用NSVisualEffectView.Material.popover,这样系统就根据appearance变化自动选择合适的效果了...时,AppKit会同时更新UI控件,这部分工作通常都是自动完成的.但有时也会调用开发者编写的代码,例如你使用了NSImage的draw handler 方式创建图片对象,又或者使用了KVO监听一个视图或者窗口的