XCode 11.3.1
https://qiita.com/Sa2Knight/items/4debc1f66db8cd958803 Ce code est résumé dans une instruction for in.
Après avoir placé ImageView sur le Storyboard, Je vais définir la classe sur GridView. (Premier fichier créé) De plus, ** La ligne de quadrillage à afficher étant blanche, changez la couleur d'arrière-plan en autre chose que le blanc, Changez la couleur des lignes de la grille. ** ** De là, nous écrirons le code dans le fichier Grid.swift créé en premier.
//
// Grid.swift
import UIKit
class GridView: UIView {
//splitCount doit être pair
//Ligne verticale:Nombre de splitCount- 1
//ligne horizontale:Nombre de splitCount/ 2 - 1
let splitCount = 10
override func draw(_ rect: CGRect) {
let path = UIBezierPath()
path.lineWidth = 1.5
UIColor.white.setStroke()
for x in 0...splitCount {
for y in 0...splitCount {
if x != y, x == 0, y < splitCount {
path.move(to: getPoint(rect, x: CGFloat(x), y: CGFloat(y)))
path.addLine(to: getPoint(rect, x: CGFloat(splitCount), y: CGFloat(y)))
path.stroke()
} else if x < splitCount, x % 2 == 0, x != 0, y == 0 {
path.move(to: getPoint(rect, x: CGFloat(x), y: CGFloat(y)))
path.addLine(to: getPoint(rect, x: CGFloat(x), y: CGFloat(splitCount)))
path.stroke()
}
}
}
}
/*Obtenez les coordonnées de la partition spécifiée sur la vue*/
private func getPoint(_ rect: CGRect, x: CGFloat, y: CGFloat) -> CGPoint {
let width = rect.width / CGFloat(splitCount)
let height = rect.height / CGFloat(splitCount)
return CGPoint(x: width * x, y: height * y)
}
}
Changez simplement la valeur de la constante splitCount Vous pouvez modifier le nombre de lignes de la grille.
Recommended Posts