XCode 11.3.1
https://qiita.com/Sa2Knight/items/4debc1f66db8cd958803 Ce code est résumé dans une instruction for in.
Les lignes de la grille sont affichées dans UIImageView comme ceci.
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