以下是使用 Swift 绘制一个顶部为凹面的矩形,由直线和圆弧线组成的示例代码:
```swift
import UIKit
class CustomView: UIView {
override func draw(_ rect: CGRect) {
let path = UIBezierPath()
let startX: CGFloat = 50.0
let endX: CGFloat = rect.width - 50.0
let startY: CGFloat = 50.0
let endY: CGFloat = rect.height - 50.0
let cornerRadius: CGFloat = 20.0
// 绘制左边的直线
path.move(to: CGPoint(x: startX, y: startY))
path.addLine(to: CGPoint(x: startX, y: endY))
// 绘制左上角的圆弧线
path.addArc(withCenter: CGPoint(x: startX + cornerRadius, y: startY + cornerRadius),
radius: cornerRadius,
startAngle: CGFloat.pi,
endAngle: CGFloat.pi * 1.5,
clockwise: true)
// 绘制顶部的直线
path.addLine(to: CGPoint(x: endX - cornerRadius, y: startY))
// 绘制右上角的圆弧线
path.addArc(withCenter: CGPoint(x: endX - cornerRadius, y: startY + cornerRadius),
radius: cornerRadius,
startAngle: CGFloat.pi * 1.5,
endAngle: CGFloat.pi * 2,
clockwise: true)
// 绘制右边的直线
path.addLine(to: CGPoint(x: endX, y: endY))
// 设置填充颜色
UIColor.red.setFill()
// 填充路径
path.fill()
}
}
// 创建自定义视图并显示
let customView = CustomView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
customView.backgroundColor = UIColor.white
// 在 Playground 中显示视图
import PlaygroundSupport
PlaygroundPage.current.liveView = customView
```
将上述代码放入 Playground 中,您将看到一个顶部为凹面的红色矩形。您可以根据需要调整矩形的尺寸、位置、圆弧半径和填充颜色。
希望这可以帮助您绘制顶部为凹面的矩形。如果您有任何进一步的疑问,请随时提问。
网友评论