// // TopRound.swift // demo // // Created by Jason on 2024/1/30. // import SwiftUI // 顶部圆角图形,兼容ios16以下版本用的 struct TopRoundedRectangle: Shape { let cornerRadius: Double init(cornerRadius: Double = 0) { self.cornerRadius = cornerRadius } func path(in rect: CGRect) -> Path { Path { path in path.move(to: CGPoint(x: rect.minX + cornerRadius, y: rect.minY)) path.addLine(to: CGPoint(x: rect.maxX - cornerRadius, y: rect.minY)) path.addArc( center: CGPoint(x: rect.width - cornerRadius, y: cornerRadius), radius: cornerRadius, startAngle: Angle(degrees: -90), endAngle: Angle(degrees: 0), clockwise: false ) path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY)) path.addLine(to: CGPoint(x: rect.minX, y: rect.maxY)) path.addLine(to: CGPoint(x: rect.minX, y: cornerRadius)) path.addArc( center: CGPoint(x: cornerRadius, y: cornerRadius), radius: cornerRadius, startAngle: Angle(degrees: 180), endAngle: Angle(degrees: 270), clockwise: false ) } } }