Как привязать ScrollView к дочернему представлению в SwiftUIIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как привязать ScrollView к дочернему представлению в SwiftUI

Сообщение Anonymous »

Я хочу, чтобы мой ScrollView динамически настраивал свой размер в зависимости от содержимого, не изменяя общий макет представления. Кроме того, я хочу иметь возможность прокручивать представление вверх и вниз (сохранять его положение), не возвращаясь в исходное положение.

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

import SwiftUI

struct ContentView: View {
@State var scrollViewContentSize: CGSize = .zero
var body: some View {
let _ = ContentView._printChanges()
VStack {
Text("Header")
ScrollView {
VStack {
Text("IOS Dev")
Text("SwiftUI")
}
.background(
GeometryReader { geo in
Color.blue.task {
scrollViewContentSize = geo.size
print(scrollViewContentSize)
}
}
)
}
.frame(width: scrollViewContentSize.width,
height: scrollViewContentSize.height,
alignment: .center)
.background(Color.red)

Text("Footer")
}
}
}

#Preview {
ContentView()
}
Проблема в том, что IOS DEV и SwiftUI не видны, потому что, когда я добавил модификатор кадра в ScrollView, ScrollViewContentSize.width становится равным нулю.
Дайте мне решение на базе iOS 15 или ранее, не позже.

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-swiftui
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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