甚至在设备旋转后也约束/居中CAEmitterLayer

时间:2019-03-22 06:36:39

标签: swift swift-playground

在iPad的Swift Playgrounds中,我很难将CAEmitterLayer实例永久限制在中心。例如,在设备旋转之前,它一直居中,因此我需要找到某种方法将其在所有设备方向上都约束在中心。

到目前为止,这是我所拥有的,请记住,我尝试将观察者添加到设备定位中无济于事。但这可能只是我的错误。谢谢!

post

1 个答案:

答案 0 :(得分:0)

CALayer不支持约束。看来您想在UIViewController中执行此操作,因此将emitterLayer.emitterPosition = CGPoint(x: view.center.x, y: view.center.y)行移到viewDidLayoutSubviews中,每当您的视图范围更改时(即在旋转过程中),都会调用该行。即使中心由于其他原因(例如iPad上的分屏多任务处理)而发生变化,这也将始终使发射器处于中心位置。