Comments 2
Вот только недавно делал похожие вещи в своем проекте, страдать пришлось =). Но там из-за версии нельзя было Layout использовать, пришлось читать размер View через GeometryReader в расширении View
import SwiftUI
extension View {
func readSize(onChange: @escaping (CGSize) -> Void) -> some View {
background(
GeometryReader { geometryProxy in
Color.clear
.preference(
key: SizePreferenceKey.self,
value: geometryProxy.size
)
}
)
.onPreferenceChange(
SizePreferenceKey.self,
perform: onChange
)
}
}
private struct SizePreferenceKey: PreferenceKey {
static var defaultValue: CGSize = .zero
static func reduce(value: inout CGSize, nextValue: () -> CGSize) {}
}
Вот такой костыль вбивался, а после уже пересчет доступного пространства происходил.
Sign up to leave a comment.
Создаем оберточный HStack с помощью протокола Layout SwiftUI