2023-09-13

2023-09-12  本文已影响0人  MoShengLive

以下是使用 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 中,您将看到一个顶部为凹面的红色矩形。您可以根据需要调整矩形的尺寸、位置、圆弧半径和填充颜色。

希望这可以帮助您绘制顶部为凹面的矩形。如果您有任何进一步的疑问,请随时提问。

上一篇下一篇

猜你喜欢

热点阅读