SwiftUI画图之自己动手画方格

SwiftUI之画方格
画方格非常简单,首先定义一个结构体,类型为shape

struct Checkerboard: Shape {}

定义结构体内的变量,即行列数

let rows: Int
let columns: Int

定义路径函数

func path(in rect: CGRect) -> Path {}

在路径函数中确定每一个方块的大小

let rowSize = rect.height / CGFloat(rows)
let columnSize = rect.width / CGFloat(columns)

画一个类似于棋盘的方格,所以循环间隔画出方格

for row in 0 ..< rows {
            for column in 0 ..< columns {
                if (row + column).isMultiple(of: 2) {
                    // this square should be colored; add a rectangle here
                    let startX = columnSize * CGFloat(column)
                    let startY = rowSize * CGFloat(row)

                    let rect = CGRect(x: startX, y: startY, width: columnSize, height: rowSize)
                    path.addRect(rect)
                }
            }
        }

        return path

在View中调用该结构体视图,配置其大小,以及调色

struct DrawCheckerboard: View {
    var body: some View {
        Checkerboard(rows: 20, columns: 20)
            .fill(Color.red)
            .frame(width: 350, height: 350)
    }
}

如图
在这里插入图片描述
改一下行列数

Checkerboard(rows: 10, columns: 10)
            .fill(Color.red)
            .frame(width: 350, height: 350)

在这里插入图片描述
简单图形完成

猜你喜欢

转载自blog.csdn.net/jackwsd/article/details/107870585