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.