我正在使用 Swift 开发一个 iOS 应用程序,需要实现一个带有虚线边框的自定义视图。此自定义视图将用于在视觉上分隔应用程序各个部分中的 UI 元素。但是,我不确定在 Swift 中实现此目的的最佳方法。
该代码创建一个名为 DashedBorderView 的自定义 UIView 子类,该子类绘制带有虚线边框的圆角矩形。边框颜色为深灰色,虚线图案设置为重复 6 点实线,后跟 3 点间隙。圆角矩形的角半径为 30.0 点。该类标有@IBDesignable属性,允许您直接在Interface Builder中查看渲染的视图。
import UIKit
@IBDesignable
class DashedBorderView: UIView {
// Only override draw() if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func draw(_ rect: CGRect) {
// Drawing code
let path = UIBezierPath(roundedRect: rect, cornerRadius: 30.0)
UIColor.darkGray.setStroke()
path.lineWidth = 2.0
let dashPattern: [CGFloat] = [6, 3]
path.setLineDash(dashPattern, count: 1, phase: 0)
path.stroke()
layer.masksToBounds = true
}
}