我有一个蓝色背景色的窗口控制器
所有子视图控制器的背景颜色都可以正常使用蓝色背景,就像它们的父窗口控制器一样,除了 NSTabViewController 的 NSTabView,它使用原始的灰色背景进行绘制
我不确定为什么它不继承背景颜色,或者为什么它不透明
无论如何,为了解决这个问题,我尝试了以下
(1)
我尝试编辑 CLayer 背景
tabView.layer?.backgroundColor = NSColor.blue.cgColor
我尝试将该代码放在任何地方,它唯一有效的时间是当我从其viewWillAppear
函数 orviewDidAppear
中的 tabViewItem 访问 CLayer 时viewWillLayout
,但问题是该代码在我选择另一个选项卡之前不起作用......即当 tabViewController显示在开头,初始视图背景颜色为灰色,直到我选择另一个选项卡才变为蓝色!
From my understanding, the tabView
is drawn after its child viewDidAppear
, that's why it overcame the blue color order, and when another tab is selected, the viewDidAppear
function is called again changing the color to blue (since the tabView` is already drawn)
(2)
我试图将drawsBackground
值更改为false
当显示 tabviewcontroller 时,背景就像它的窗口一样,蓝色,但是一旦我选择另一个选项卡,之前的 tabviewitem 控件就会留下黑色残留物
任何想法如何解决这个问题都非常感谢!