如何在 UIView 周围制作自定义边框?

Posted

技术标签:

【中文标题】如何在 UIView 周围制作自定义边框?【英文标题】:How do I make a custom border around a UIView? 【发布时间】:2013-09-24 15:24:00 【问题描述】:

我正在尝试在 UIView 周围制作半透明边框。这个想法是展示一张图片,但让边框覆盖图片的边缘,但仍然允许您看到边框后面的内容。我希望边框的不同边具有不同的边框宽度。在顶部我想要一个 80 pts 的边框,在底部我想要一个 60 pts 的边框,在侧面我想要一个 10 pts 的边框。我知道使用代码:

UIView.layer.borderColor = [UIColor blueColor].CGcolor;
UIView.layer.borderWidth = 10;

会在 UIView 内部给你一个宽度为 10 的统一边框,但是如何为 UIView 的不同边设置不同的边框宽度?

【问题讨论】:

您可能需要研究 QuartzCore 编程来围绕视图边缘绘制路径并更改路径每行的颜色。不应该花太长时间来学习和实验。 【参考方案1】:

据我所知,仅仅通过使用 UIView 或其支持层的属性是不可能得到你想要的。您可能必须使用另一个 UIView,其中包含您想要的特定边框(可能作为自定义图形)并将其覆盖在您的图像之上。

【讨论】:

【参考方案2】:

有一些解决方法可以做到这一点。 1.在其他所有东西的底部添加一个图像视图,或索引0。并添加带边框的图像。通过留下边界边缘添加其余视图。图像可以在顶部,但不仅仅是寄宿生应该是实心的,图像的其余部分应该是透明的。 2.在一个视图中添加你的视图,在超级视图上添加边框。你的视图框架应该在那个边界内。

【讨论】:

以上是关于如何在 UIView 周围制作自定义边框?的主要内容,如果未能解决你的问题,请参考以下文章

如何制作可拉伸的自定义 UITablecell

如何缩放视图并将自定义边框保持在原始大小\缩放?

如何在 UI 按钮/文本标签中的字母周围制作边框?

如何从 UIView 的某些部分删除边框?

如何在图像视图周围制作圆形边框

如何在 swift 中为 uiimageview 制作自定义边框