easy_dev991
603 subscribers
23 photos
16 videos
3 files
162 links
Делюсь интересными находками/лайфхаками в процессе разработки под iOS, и возможно ты найдешь что-то полезное для себя!

GitHub: https://github.com/easydev991
Download Telegram
#ios #swiftui #vstack #spacing

В SwiftUI у стеков (VStack, HStack, их Lazy-версии) есть дефолтный спейсинг (расстояние между элементами), который по умолчанию равен nil.

Однако nil != 0, на скриншоте пример, код ниже:


import SwiftUI

struct SpacingComparison: View {
private let numbers = Array(0..<10)

var body: some View {
HStack(spacing: 20) {
VStack(spacing: nil) {
Text("spacing: nil")
ForEach(numbers, id: \.self) { i in
makeDemoRectangle(number: i)
}
}
VStack(spacing: 0) {
Text("spacing: 0")
ForEach(numbers, id: \.self) { i in
makeDemoRectangle(number: i)
}
}
}
}

private func makeDemoRectangle(number: Int) -> some View {
Rectangle()
.frame(height: 20)
.overlay { Text("\(number)") }
}
}

#Preview {
SpacingComparison()
}
😁4👍3