Junior — Middle
Интерфейстеги активдүү элемент үчүн басуу зонасын кантип кеңейтсе болот?
sobes.tech AI
AIден жооп
iOS'то активдүү элементке басуу зонасын кеңейтүү үчүн contentEdgeInsets мүнөздөмөсүн колдонсо болот же элементти чоңураак өлчөмдөгү ачык түстөгү баскычка ороп коюңуз. Ошондой эле, point(inside:with:) ыкмасын UIView ичинде кайра аныктап, басуу үчүн жооп берген аймакты кеңейтсе болот.
Басуу зонасын кеңейтүү мисалы:
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)
}
}