首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用CALayer覆盖CGImage

用CALayer覆盖CGImage
EN

Stack Overflow用户
提问于 2022-01-18 21:50:52
回答 2查看 107关注 0票数 -1

我有一个CGImage,我想在CALayer中显示。将内容和重力设置到左下角的效果与预期一样。

代码语言:javascript
复制
layer.contents = cgimage
layer.contentsGravity = .bottomLeft

现在我想要中间,覆盖整个图层。使用.center只会将内容中心移动到左下角。

代码语言:javascript
复制
layer.contents = cgimage
layer.contentsGravity = .center

只有当我将位置设置为视图的中心时,它才会按预期显示。

代码语言:javascript
复制
layer.contents = cgimage
layer.contentsGravity = .center
layer.position = CGPoint(x: view.frame.width/2, y: view.frame.height/2)

但是,当重力设置为调整尺寸时--方面--完全没有任何显示--不管位置设置与否。

代码语言:javascript
复制
layer.contents = cgimage
layer.contentsGravity = .resizeAspectFill

我有种感觉,我错过了一些基本的东西。

为什么CGImageCALayer中没有覆盖全部大小并保持高宽比?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-21 02:55:25

对于contentGravity类型的.resize.resizeAspectFill,必须显式设置CALayer的框架。对于.center.bottomLeft,您可以不使用。

票数 -1
EN

Stack Overflow用户

发布于 2022-01-19 03:15:26

我可以显示图像填充。我认为你的观点并不是家长观点的中心。

代码语言:javascript
复制
    let view = UIView.init(frame: self.view.bounds)
    self.view.addSubview(view)
    view.layer.contents = UIImage.init(named:"ic_control_group_unselect_on")?.cgImage
    view.layer.contentsGravity = .resize
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70762823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档