将 UITableViewCell 的子视图放在最前面

Posted

技术标签:

【中文标题】将 UITableViewCell 的子视图放在最前面【英文标题】:Bring a subview of a UITableViewCell to the very front 【发布时间】:2016-02-06 15:09:23 【问题描述】:

我在UITableViewCell 的容器视图中有一个UITextField。当点击文本字段时,我想将其容器放在最前面。澄清一下:当文本字段被点击时,我添加了一个子视图来“屏蔽”背景,因此只显示文本字段。但是我尝试过的一些方法遇到了问题:

    self.view.bringSubviewToFront(subview1) 即使我在UIViewController 中引用了视图,这似乎也不起作用,我猜这是因为视图被埋得太深(但我不完全确定)?

    self.view.insertSubview(subview1, aboveSubview: maskBackgroundView) 这确实将子视图带到了前面,但它破坏了我在子视图上设置的约束。

【问题讨论】:

在点击之前隐藏您的视图,然后显示它。 【参考方案1】:

您应该使用view.hidden 属性来控制外观,而不是改变顺序。 view.hidden = true 隐藏视图,而 false 显示它。

【讨论】:

以上是关于将 UITableViewCell 的子视图放在最前面的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 的子视图永远不会出现

将imageview添加为uitableviewcell的子视图时如何使imageview可拉伸

当tableview单元格变得不可见时如何获取UITextField(UITableViewCell的子视图)文本值

为啥我必须删除为 UITableViewCell 添加的子视图,而不是在 UITableViewCell 的子类中?

UITableViewCell 的子视图不能是圆形的

无法将删除子视图置于前面