JsW*_*JsW 1 calayer cgimage swift
我试图设置UIImage的CGImage作为layer的内容,然后添加layer到view的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)
}
Run Code Online (Sandbox Code Playgroud)
baseLayer没有定义的框架,因此baseLayer.contentsGravity = kCAGravityCenter可以正常工作,但仍然位于位置(0,0)。
有两种可能的解决方案:
1:制作一个baseLayer与相同的画框rect。实现此代码:
baseLayer.frame = rect.frame
Run Code Online (Sandbox Code Playgroud)
2:将的位置设置baseLayer为的中心rect。实现此代码:
baseLayer.position = rect.center
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1402 次 |
| 最近记录: |