Как заставить кнопку работать внутри ScrollView, но за пределами границ Scrollview в Swiftui?IOS

Программируем под IOS
Ответить
Anonymous
 Как заставить кнопку работать внутри ScrollView, но за пределами границ Scrollview в Swiftui?

Сообщение Anonymous »

Я наблюдал странное поведение, и я считаю, что это ошибка в Swiftui, но, возможно, это не так или кто -то знает способ его исправить. Тем не менее, они могут быть больше, если их содержание больше. Они также могут рисовать контент за пределами границ. Например, в следующем представлении есть наложение, которое смещено, так что кнопка в наложении полностью вытягивается из границ кнопки, на которой она прикреплена: < /p>

Код: Выделить всё

struct SimpleView: View {
var body: some View {
VStack {
Button {
// Action not relevant...
} label: {
Image(systemName: "globe")
.font(.largeTitle)
Text("Button").fixedSize()
}
.foregroundStyle(.white)
.buttonStyle(.glassProminent)
.overlay {
Button {
// Not executed when button is tapped outside of the ScrollView's bounds
print("Overlay button tapped!")
} label: {
Image(systemName: "info.bubble.fill.rtl")
.font(.largeTitle)
Text("Overlay Button").fixedSize()
}
.foregroundStyle(.tint)
.buttonStyle(.glass)
.offset(x: -80, y: 80)
}
}
.padding(16)
}
}

В этом представлении я могу нажать кнопку. Это реагирует на мои трогательные отпечатки «Кнопка налога!» к консоли, поэтому ее действие выполняется.struct InScrollView: View {
var body: some View {
ScrollView {
SimpleView()
}
.scrollClipDisabled()
.background(.yellow)
}
}
< /code>
Кнопка все еще визуально реагирует на мои прикосновения, но ее действие больше не выполняется, когда я нажимаю кнопку за пределами границ Scrollview < /code> - указано на желтый фон. к консоли.
Когда вы кнопку за пределами желтой области, она ничего не печатает. Это отрезало бы наложение, но я хочу, чтобы полное наложение было нарисовано. К сожалению, кажется, что этот модификатор только отключает обрезку, но не «прикоснись к обрезанию».
Есть идеи о том, как сделать эту работу?

Подробнее здесь: https://stackoverflow.com/questions/797 ... llviews-bo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»