当前位置:  开发笔记 > 编程语言 > 正文

子图层添加后未显示

如何解决《子图层添加后未显示》经验,为你挑选了1个好方法。

我正在尝试"resizeLayer"通过对UIView selectedShape进行子分层来将其添加到UIView中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)

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

我什至尝试"resizeLayer"通过UIView来查看图像"selectedShape"

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

这是"resizeLayer"我要添加的图像

蓝色正方形是selectedShape。如您所见,该图层未显示。

我想发生什么



1> Caleb..:

您正在使用整个框架selectedShape。您应该只使用widthand和height因为x并且y应该为零。图像被添加到selectedShape该点,因此该点(0,0)位于selectedShape视图的左上方。

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

我承认,这让我难过的时间比原本应该的更长。

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有