如何绘制部分边框?

Posted

技术标签:

【中文标题】如何绘制部分边框?【英文标题】:How to draw a partial border? 【发布时间】:2017-10-10 07:20:15 【问题描述】:

如下图,那条黑线怎么画? 我希望在图层上绘制线条,而不是在另一个视图上。 我遇到的问题是如何定位底部。感谢您的任何建议。

【问题讨论】:

只用一个 UIView 通过将视图的高度添加到视图的 origin.y 来计算底部。 @user6788419 是的,这就是我现在使用的解决方案。我只是想知道如何知道通过 Layer 实现它。 @BencePattogato 但是在 AutoLayout 设置约束之前高度是未知的。 【参考方案1】:

在这里,我使用了与按钮相同的文本字段

let borderOld = CALayer()

let width = CGFloat(1.5)

borderOld.frame = CGRect(x: 0, y: txtField.frame.size.height - width, width:  txtField.frame.size.width, height: txtField.frame.size.height)
borderOld.borderWidth = width

txtField.layer.masksToBounds = true

txtField.layer.addSublayer(borderOld)

【讨论】:

但我使用 AutoLayout 来约束视图。所以该帧不是最终帧。

以上是关于如何绘制部分边框?的主要内容,如果未能解决你的问题,请参考以下文章

在画布上的图像不透明部分周围绘制边框

带有部分边框的 UIView 边框

如何绘制UILabel边框[重复]

如何绘制圆角窗口的边框?

如何在线性布局的一侧绘制边框?

如何绘制亮化边框(外发光效果)?