我没有使用Xcode 9创建一个简单的macSO应用程序因为非常...而且我的意思是非常奇怪的行为。我有两个简单的图层视图来绘制不同的背景颜色。像这样: 当我运行应用程序时,没有改变任何东西,在(通常)连续第三次运行后,视图消失......字面意思。窗口看起来像这样: 这是一个测试项目:
https://github.com/ivailon/test13
此外 - 如果我开始执行已经构建的应用程序,视图有时会消失。任何人都可以给出一个合理解释的线索,为什么会发生这种情况......
答案 0 :(得分:0)
问题在于,每次在调用之前初始化视图的图层时都会这样:
func viewDidLoad()
<强>描述强>
视图控制器的视图加载到内存后调用。
要修复此问题,应该稍后初始化图层或创建自己的CALayer对象并使用它设置视图,如下所示:
let layer = CALayer()
layer.backgroundColor = NSColor.orange.cgColor
view1.layer = layer
view1.wantsLayer = true
该项目已在GitHub更新,以显示差异。