2点のCGPointからCGRectを作る


任意の2点で構成される四角形を作る場合、よく(p1.x - p0.x, p1.y - p0.y)をsizeとしてCGRectを生成することがあるが、CGRectのunionを利用することで計算を手書きせずに簡単に作ることができる。

let r0 = CGRect(origin: p0, size: .zero)
let r1 = CGRect(origin: p1, size: .zero)
let rect = r0.union(r1).standardized

unionは2つのCGRectを構成する最小のCGRectを生成する関数で、これを利用して座標だけを持つCGRect2つをunionさせて四角形を計算させる。