XCode 11.3.1
https://qiita.com/Sa2Knight/items/4debc1f66db8cd958803 Dieser Code ist in einer for in-Anweisung zusammengefasst.
Nachdem Sie die ImageView im Storyboard platziert haben, Ich werde die Klasse auf GridView setzen. (Zuerst erstellte Datei) Außerdem ** Da die anzuzeigende Gitterlinie weiß ist, ändern Sie die Hintergrundfarbe in etwas anderes als Weiß. Ändern Sie die Farbe der Gitterlinien. ** **. Von hier aus schreiben wir den Code in die zuerst erstellte Grid.swift-Datei.
//
// Grid.swift
import UIKit
class GridView: UIView {
//splitCount sollte gerade sein
//Vertikale Linie:Anzahl der splitCount- 1
//horizontale Linie:Anzahl der 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()
}
}
}
}
/*Rufen Sie die Koordinaten der angegebenen Partition in der Ansicht ab*/
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)
}
}
Ändern Sie einfach den Wert der Konstanten splitCount Sie können die Anzahl der Gitterlinien ändern.
Recommended Posts