在iOS中,有多种方法可以在视图上显示CGRect边框。以下是几种简单的方法:
使用CAShapeLayer
可以在视图上创建一个带边框的子图层,并且可以通过设置frame
属性来显示边框。示例代码如下:
let borderLayer = CAShapeLayer()
borderLayer.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
view.layer.addSublayer(borderLayer)
let borderPath = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 100, height: 100), cornerRadius: 0)
borderLayer.path = borderPath.cgPath
borderLayer.fillColor = UIColor.clear.cgColor
borderLayer.strokeColor = UIColor.red.cgColor
borderLayer.lineWidth = 1
可以通过创建一个UIView
的子类(例如CustomView
),并在该子类中重写draw()
方法,来绘制边框。示例代码如下:
class CustomView: UIView {
override func draw(_ rect: CGRect) {
let borderLayer = CALayer()
borderLayer.frame = rect
borderLayer.backgroundColor = UIColor.red.cgColor
borderLayer.borderColor = UIColor.red.cgColor
borderLayer.borderWidth = 1
addSubview(borderLayer)
let borderPath = UIBezierPath(roundedRect: rect, cornerRadius: 0)
borderLayer.path = borderPath.cgPath
borderLayer.fill()
}
}
使用Core Graphics
绘制边框,可以通过创建一个CGContext
,绘制直线、曲线等方式来绘制边框。示例代码如下:
let context = CGContext(data: nil, width: 100, height: 100, bitsPerComponent: 8, bytesPerRow: 0, space: CGColorSpaceCreateDeviceGray(), attributes: nil, context: nil)
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
context.setStrokeColor(UIColor.red.cgColor)
context.setLineWidth(1)
context.move(to: CGPoint(x: 0, y: 0))
context.addLine(to: CGPoint(x: 100, y: 100))
context.strokePath()
以上是三种不同的方式,可以根据需要选择一种方式进行绘制。
领取专属 10元无门槛券
手把手带您无忧上云