Junior — Middle
Hogyan lehet növelni az aktív elemre kattintás érzékelési területét az interfészen?
sobes.tech MI
Válasz az MI-től
Az iOS-on lévő aktív elem érintési zónájának növeléséhez használhatja a contentEdgeInsets tulajdonságot, vagy ágyazza be az elemet egy átlátszó, nagyobb méretű gombba. Emellett felülírhatja a point(inside:with:) metódust UIView-ben, hogy kiterjessze az érintésekre reagáló területet.
Az érintési zóna bővítésének példája:
class LargerTapAreaButton: UIButton {
let tapAreaPadding: CGFloat = 20
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
let largerArea = bounds.insetBy(dx: -tapAreaPadding, dy: -tapAreaPadding)
return largerArea.contains(point)
}
}