Junior — Middle
Jak lze zvětšit aktivní oblast stisku pro aktivní prvek v rozhraní?
sobes.tech AI
Odpověď od AI
Pro zvětšení aktivní zóny při stisku na aktivní prvek v iOS můžete použít vlastnost contentEdgeInsets nebo obalit prvek do průhledného tlačítka s větší velikostí. Také můžete přepsat metodu point(inside:with:) v UIView, aby se rozšířila oblast reagující na doteky.
Příklad rozšíření zóny stisku:
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)
}
}