UIView边框覆盖子视图?

Posted

技术标签:

【中文标题】UIView边框覆盖子视图?【英文标题】:UIView border cover sub-view? 【发布时间】:2013-03-30 03:10:37 【问题描述】:

我有一个 UIView,其中包含一个部分位于 UIView 上的 UIButton。在 UIView 上绘制边框时出现问题。请看我的截图:

你可以看到边框在 UIButton 的上方,为什么?有人可以建议吗?谢谢

【问题讨论】:

用什么代码绘制边框和添加按钮? 您可以采用像 ContainerView parent of contentView & button 这样的视图结构。容器视图将是透明的(clearcolor),内容视图将具有边框和角。按钮将位于内容视图的顶部。你会得到你想要的确切屏幕。希望这会有所帮助.. ***.com/questions/15490720/… 我的代码很简单。在我看来:self.layer.cornerRadius = 15; self.layer.masksToBounds = YES; self.layer.borderColor = [[UIColor whiteColor] CGColor]; self.layer.borderWidth = 2.0f; 【参考方案1】:

感谢aăâ,我找到了解决办法。

    基本上,边框总是绘制在所有内容之上

    我所做的是:

    创建一个带有边框颜色的 UIView 创建另一个 UIView 作为子主 UIView,它比第一个小一点。这个新创建的 UIView 的颜色是主色

代码如下:

self.layer.cornerRadius = 15;
self.layer.masksToBounds = YES;
self.backView.layer.cornerRadius = 15;
self.backView.layer.masksToBounds = YES;

结果是:

这或多或少是我需要的,虽然它并不完美。

【讨论】:

【参考方案2】:

这可能与绘制对象的顺序有关。在情节提要的“文档大纲”中,稍后绘制视图控制器大纲中较低的视图。也许按钮不是你想要的最后一个绘制的视图?

【讨论】:

以上是关于UIView边框覆盖子视图?的主要内容,如果未能解决你的问题,请参考以下文章

带有部分边框的 UIView 边框

在 UIView 外部(而不是内部)添加边框

UISearchDisplayController 没有完全覆盖子视图控制器

iOS 让视图UIView 单独显示某一侧的边框线

iOS 让视图UIView 单独显示某一侧的边框线

圆化 UIView 的一些角并圆化视图层的边框