添加后子图层不显示

Posted

技术标签:

【中文标题】添加后子图层不显示【英文标题】:Sublayer is not showing up after add it 【发布时间】:2015-12-19 01:48:17 【问题描述】:

我正在尝试将图像 "resizeLayer" 添加到我的 UIView selectedShape 上,方法是将其子层覆盖在 selectedShape

let sublayer = CALayer()
sublayer.bounds = selectedShape.bounds //even when inserted this line, sublayer still doesn't show up
sublayer.frame = selectedShape.frame
sublayer.contents = UIImage(named: "resizeLayer")
selectedShape?.layer.addSublayer(sublayer)

但是当我运行我的代码时,我根本看不到图层

我什至尝试在 UIView "selectedShape" 上子查看图像 "resizeLayer"

let resizeFrame = UIImageView(image: UIImage(named: "resizeLayer"))
resizeFrame.frame = selectedShape.frame
resizeFrame.contentMode = UIViewContentMode.ScaleAspectFill
selectedShape.addSubview(resizeFrame)

但是,"resizeLayer" 仍然没有出现!

仅当我将"resizeLayer" 添加到整体视图时才会显示:

let resizeFrame = UIImageView(image: UIImage(named: "resizeLayer"))
resizeFrame.frame = selectedShape.frame
resizeFrame.contentMode = UIViewContentMode.ScaleAspectFill
selectedShape.addSubview(resizeFrame)     
self.view.insertSubview(resizeFrame, aboveSubview: selectedShape) //add this line

对此的任何帮助将不胜感激!

如果相关,这就是我制作selectedShape的方式

selectedShape = UIView(frame: CGRect(x: 0, y: 0, width: 60, height: 60))
selectedShape.layer.cornerRadius = 10
selectedShape.backgroundColor = UIColor.blueColor()
canvas.addSubview(selectedShape) //canvas is the view I'm adding selectedShape to

This is the image "resizeLayer" that I'm trying to add

蓝色方块是selectedShape。 As you can see the layer is not showing up.

What I want to happen

【问题讨论】:

【参考方案1】:

您正在为selectedShape 使用整个框架。您应该只使用widthheight,因为xy 应该是。图像被添加到selectedShape,因此(0,0) 点位于selectedShape 视图的左上角。

resizeFrame.frame = CGRect(origin: CGPointZero, size: selectedShape.frame.size)

我承认这让我难过的时间比它应有的要长。

【讨论】:

【参考方案2】:

并不是他的问题的真正答案,而是相关的,如果有人以前在这里写过这篇文章,会节省我的时间。因此,希望对某人有所帮助并编制一份更完整的问题列表及其解决方案:

addSublayer 调用需要从主线程进行...

有趣的是,如果您从工作线程执行此操作,它仍会显示在视图层级调试中,并显示您设置的内容,但不会显示...

【讨论】:

【参考方案3】:

我认为您应该将 selectedView 发送回:

canvas.sendSubviewToBack(selectedShape)

【讨论】:

他不想将resizeImage 添加到画布中。

以上是关于添加后子图层不显示的主要内容,如果未能解决你的问题,请参考以下文章

javascript 显示所有图层和子图层

arcgis图层显示的数据怎么改

arcgis10 空间参考与数据框不匹配?

带有渐变的 UIProgressView

arcgis地图导出时文字不显示

试图将图层的 CABasicAnimation 位置和不透明度延迟 3 秒,但