Кнопка SwiftUI с фоновым изображением блокирует взаимодействие с соседними кнопками ⇐ IOS
Кнопка SwiftUI с фоновым изображением блокирует взаимодействие с соседними кнопками
Я пытаюсь реализовать кнопку с фоновой текстурой. Текстура представляет собой большое изображение, и ее следует сместить с помощью средства чтения геометрии, чтобы она соответствовала положению текстуры на следующем экране.
Следующий код рисует кнопку, как и ожидалось
Кнопка(действие: действие) { пусть imgSize = self.size - self.iconSpacing ZStack { GeometryReader { ctx в let offX = ctx.frame(in: .global).minX * -1 let offY = ctx.frame(in: .global).minY * -1 Изображение (uiImage: self.txt) .offset(x: offX, y: offY) } Изображение (uiImage: self.img) .изменяемый размер() .frame(ширина: imgSize, высота: imgSize) } } .frame(ширина: self.size, высота: self.size) .обрезанный() .accessibilityLabel(self.label) .buttonStyle(.borderedProminent) К сожалению, эти кнопки недоступны. При использовании нескольких подобных кнопок в HStack на взаимодействие реагирует только последняя кнопка. Как будто невидимое изображение перекрывает остальные из них, более того, нажатие на кнопку прямо перед тем, как последнее, вместо этого активирует последнюю кнопку (предположим, это связано с размером изображения текстуры).
Я также пробовал использовать .clipped() для перекодировщика и самого изображения, поместив GeometryReader в .background() и т. д.
Я пытаюсь реализовать кнопку с фоновой текстурой. Текстура представляет собой большое изображение, и ее следует сместить с помощью средства чтения геометрии, чтобы она соответствовала положению текстуры на следующем экране.
Следующий код рисует кнопку, как и ожидалось
Кнопка(действие: действие) { пусть imgSize = self.size - self.iconSpacing ZStack { GeometryReader { ctx в let offX = ctx.frame(in: .global).minX * -1 let offY = ctx.frame(in: .global).minY * -1 Изображение (uiImage: self.txt) .offset(x: offX, y: offY) } Изображение (uiImage: self.img) .изменяемый размер() .frame(ширина: imgSize, высота: imgSize) } } .frame(ширина: self.size, высота: self.size) .обрезанный() .accessibilityLabel(self.label) .buttonStyle(.borderedProminent) К сожалению, эти кнопки недоступны. При использовании нескольких подобных кнопок в HStack на взаимодействие реагирует только последняя кнопка. Как будто невидимое изображение перекрывает остальные из них, более того, нажатие на кнопку прямо перед тем, как последнее, вместо этого активирует последнюю кнопку (предположим, это связано с размером изображения текстуры).
Я также пробовал использовать .clipped() для перекодировщика и самого изображения, поместив GeometryReader в .background() и т. д.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Высота SingleChildScrollView до максимальной высоты с фоновым изображением в трепете
Anonymous » » в форуме Android - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-