如何在 Swift 3 中的 UIView 上添加右边框?

Posted

技术标签:

【中文标题】如何在 Swift 3 中的 UIView 上添加右边框?【英文标题】:How can I add right border on an UIView on Swift 3? 【发布时间】:2016-11-16 16:20:36 【问题描述】:

我的屏幕顶部有一个UIView,我想给它添加一个1像素的右边框。

这是我目前拥有的代码:

var border = CALayer()
border.backgroundColor = UIColor(red: 241, green: 10, blue: 9, alpha: 1).cgColor
border.frame = CGRect(x: topView.frame.width + 1, y: 0, width: 1, height: topView.frame.height)
topView.layer.addSublayer(border)

但我无法让它工作。

如何为我的UIView 添加右边框?

提前致谢!

【问题讨论】:

【参考方案1】:

此代码适用于我,您将框架的位置设置在视图边界之外,将其更改为 - 1(而不是宽度 + 1),然后它应该按预期显示。 (我更改了颜色以便在操场上更容易看到)

let view = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
view.backgroundColor = UIColor.white

let borderLayer = CALayer()
borderLayer.backgroundColor = UIColor.red.cgColor
borderLayer.frame = CGRect(x: view.frame.width - 1, y: 0, width: 1, height: view.frame.height)
view.layer.addSublayer(borderLayer)

【讨论】:

好的,在我的真实示例中,我使用 255、255、255 作为边框的背景(白色)。我现在感觉很傻。谢谢!【参考方案2】:

顶视图上的 Cliptobounds = false 或将线条保持在框架内

【讨论】:

以上是关于如何在 Swift 3 中的 UIView 上添加右边框?的主要内容,如果未能解决你的问题,请参考以下文章

UIView上swift 3中的uibezierPath,只需要曲线

以编程方式在 UIView 上添加 UITextField Swift

iOS:UIView 的 Autolayout 拉伸高度过多(Xcode 8、Swift 3)

如何从 Swift 中的 ViewController 获取 UIView 子类实例

如何在 Swift 4 中向 UIView 添加子视图?

如何使用 Swift 以编程方式添加约束