我有下面的布局。

我想要实现的是把黄色的眼镜片变成圆圈,并把它摆在前面。我尝试了self.view.bringSubview(toFront:yellowView),但似乎没有像我预期的那样工作。我怎么才能解决这个问题?
所以在根视图上,我有两个子视图,顶部部分和底部部分。底部部分现在是空的,但顶部部分包含一个与顶部部分大小相同的图像视图和一个圆形UIView。
所以我想要的是把下面的部分和圆圈UIView放在前面。
发布于 2017-05-26 16:37:37
您的问题是圆形UIView不是根视图的子视图,而是顶部视图的子视图。为了使圆圈出现在底部视图的前面,请重新排序视图层次结构。
使圆圈UIView成为根视图的子视图。然后,您将能够使用您所展示的代码将其带到其他视图的前面。实际上,如果将圆形UIView作为根视图的最后一个子视图,那么它将出现在根视图的所有子视图前面。
期望的视图层次结构:
Root View
- Top View
- UIImageView
- Bottom View
- Circle View在文档大纲中,拖动圆圈视图并将其拖放到根视图中。

发布于 2017-05-26 14:39:37
如果您的circleView和imageView是subview of containerView,那么试试下面的代码。
self.containerView.bringSubview(toFront:yellowView)发布于 2017-05-26 13:46:03
将clipBounds属性设置为UIImageView的false:
self.imageView.clipsToBounds = falsehttps://stackoverflow.com/questions/44203093
复制相似问题