Непрозрачность кнопки влияет на ее «кликабельность».
Я столкнулся с очень странной проблемой. У меня есть приложение SwiftUI (iOS), в котором у меня есть полноэкранный режим.ZStack
: внутри, как "нижний слой", у меня полноэкранный режимMap
, а сверху у меня есть кнопка (она естьLocationButton
- но это не имеет особого значения, поведение такое же, как и у обычногоButton
слишком).
Моя кнопка имеет модификатор непрозрачности, который устанавливает для нее значение0.5
, и соответствующее действие. На этом этапе всё работает: могу прокрутить карту, могу нажать кнопку — и действие выполнится.
Однако как только я добавил на карту - кнопка начала вести себя странно. На него передавались лишь несколько кликов. Это почти как если бы мне пришлось нажать несколько определенных пикселей кнопки, чтобы выполнить ее действие.
Я потратил пару часов на эксперименты с макетом и разными модификаторами - ничего не помогло. Например, я попробовал добавить.contentShape(Rectangle())
на кнопку - не повезло. Но, в конце концов, я заметил интересный эффект: если убрать непрозрачность с кнопки - она снова работает. Потом попробовал промежуточные значения непрозрачности - кажется, чем меньше непрозрачность (чем прозрачнее кнопка), тем сложнее по ней нажать (хотя размер не меняется).
Может кто-нибудь объяснить мне, почему непрозрачность в этом конкретном макете влияет на «кликабельность» кнопки? Потому что это не влияет на это, когда у меня нет.onTapGesture
на моей карте - так что я думаю, это должно быть как-то связано...