我试图将aUIImage
的CGImage
设置为alayer
的内容,然后将layer
添加到aview
的layer
中。
它应该是五颗星在黄色视野的中心。这就是我想要的。
但似乎恒星的中心与origin
的view
对齐。
我该怎么纠正它?
func putOnStars() {
let rect = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
rect.backgroundColor = .yellow
view.addSubview(rect)
let baseLayer = CALayer()
baseLayer.contents = UIImage(named: "stars")?.cgImage
baseLayer.contentsGravity = kCAGravityCenter
rect.layer.addSublayer(baseLayer)
}
这是你想测试的星星图像。
最佳答案
baseLayer
没有已定义的帧,因此baseLayer.contentsGravity = kCAGravityCenter
可以正常工作,但它仍处于潜在状态(0,0)。
有两种可能的解决方案:
1:制作一个baseLayer
的框架,该框架与rect
相同。实现此代码:
baseLayer.frame = rect.frame
2:将
baseLayer
的位置设置到rect
的中心。实现此代码:baseLayer.position = rect.center
关于swift - 如何在CALayer上居中CGImage?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47009878/