我将图像存储在资产目录中并设置为切片(9切片,因为我根据我的背景调用它)。如果您以不同的尺寸绘制图像,这允许您使用具有圆角或形状角的图像来保持角的纵横比。图像的中间被拉伸以适应不同的尺寸。
我在资产目录中进行了切片设置,如果我在UIImageView
中使用图像,则按预期工作。
但是,如果我尝试通过设置内容使用CALayer
图像,则它不起作用。如果您没有使用切片,图像会显示为您所期望的。
我这样设置:
borderImageLayer = [CALayer layer];
borderImageLayer.contents = (id) _borderImage.CGImage;
borderImageLayer.frame = self.bounds;
[self.layer addSublayer:borderImageLayer];
所以,我的问题是,你如何让CALayer
使用切片图像?有可能吗?
答案 0 :(得分:0)
你在谈论可伸缩的图像,对吗? CALayer不支持可伸缩图像。你必须自己构建它,这将是相当多的工作。为什么呢? UIImage已经支持可伸缩的图像。这是一个“解决了问题”。只需使用它。
如果你真的需要使用图层,那么我建议创建一个CALayer的自定义子类,它设置9个子图层,将图像图块安装为每个子图层的内容,并通过调整图块大小来响应调整大小。