Sobes.tech
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)
    }
}