以下の内容はhttps://xyk.hatenablog.com/entry/2020/11/11/233019より取得しました。


UIView 同士が重なっているかいないかを判定する方法

検証環境:
Xcode 12
Swift 5.3

UIView 同士が重なっているかいないかを判定する方法について。
CGRect#intersects(_:)メソッドで2つの CGRect が交差するかどうかを判定することができる。
UIView の Extension として以下のように追加した。

extension UIView {
    
    func overlaps(other view: UIView, in parent: UIView) -> Bool {
        let frame = self.convert(self.bounds, to: parent)
        let otherFrame = view.convert(view.bounds, to: parent)
        return frame.intersects(otherFrame)
    }
}

aView と bView が重なっているかを調べる。共に parentView のサブビューである。

if aView.overlaps(other: bView, in: parentView) {
    // 重なっている
}



以上の内容はhttps://xyk.hatenablog.com/entry/2020/11/11/233019より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14