首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bringSubview(toFront:)似乎不起作用

bringSubview(toFront:)似乎不起作用
EN

Stack Overflow用户
提问于 2017-05-26 13:39:01
回答 4查看 4.3K关注 0票数 2

我有下面的布局。

我想要实现的是把黄色的眼镜片变成圆圈,并把它摆在前面。我尝试了self.view.bringSubview(toFront:yellowView),但似乎没有像我预期的那样工作。我怎么才能解决这个问题?

所以在根视图上,我有两个子视图,顶部部分和底部部分。底部部分现在是空的,但顶部部分包含一个与顶部部分大小相同的图像视图和一个圆形UIView。

所以我想要的是把下面的部分和圆圈UIView放在前面。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-26 16:37:37

您的问题是圆形UIView不是根视图的子视图,而是顶部视图的子视图。为了使圆圈出现在底部视图的前面,请重新排序视图层次结构。

使圆圈UIView成为根视图的子视图。然后,您将能够使用您所展示的代码将其带到其他视图的前面。实际上,如果将圆形UIView作为根视图的最后一个子视图,那么它将出现在根视图的所有子视图前面。

期望的视图层次结构:

代码语言:javascript
复制
Root View
    - Top View
        - UIImageView
    - Bottom View
    - Circle View

在文档大纲中,拖动圆圈视图并将其拖放到根视图中。

票数 5
EN

Stack Overflow用户

发布于 2017-05-26 14:39:37

如果您的circleViewimageViewsubview of containerView,那么试试下面的代码。

代码语言:javascript
复制
self.containerView.bringSubview(toFront:yellowView)
票数 2
EN

Stack Overflow用户

发布于 2017-05-26 13:46:03

将clipBounds属性设置为UIImageView的false:

代码语言:javascript
复制
self.imageView.clipsToBounds = false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44203093

复制
相关文章

相似问题

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