Sobes.tech
Junior — Middle

Hogyan lehet határokat szabni a érintéskezeléshez egy UIView elem esetében?

sobes.tech MI

Válasz az MI-től

Az érintés érzékelési határok beállításához egy UIView-nál felülírhatja a point(inside:with:) metódust. Ez a metódus meghatározza, hogy az érintési pont a UIView azon területén van-e, ahol reagálni kell az érintésekre. Alapértelmezés szerint ellenőrzi, hogy a pont a bounds-on belül van-e.

Példa a felülírásra, hogy 20 ponttal megnövelje az érintési területet a nézet körül:

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
    let margin: CGFloat = 20
    let largerBounds = bounds.insetBy(dx: -margin, dy: -margin)
    return largerBounds.contains(point)
}

Így csökkentheti vagy növelheti az érintésekre reagáló területet, saját határokat állítva be.