TGViewer
easy_dev991 easy_dev991 @easy_dev991 · 617 subscribers
Post #106 901
#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
More from @easy_dev991
  1. Oct 15, 2026#android #agent #openspec Если завтра все нейросети сломаются, мне будет не важно, потому…
  2. Oct 4, 2026#agent #opencode #question Чтобы ваш кастомный агент мог задавать вопросы как на скриншоте…
  3. Oct 3, 2026#ios #swift #swiftui #animation Чиним дрейф лоадера в SwiftUI
  4. Oct 1, 2026#agent #skill https://teletype.in/@easy_dev991/Vdp8kJPuWEg
  5. Sep 26, 2026#android #test #agent Делаю приложение-дневник тренировок для андроида, и агент пишет/гоня…
  6. Sep 21, 2026#agent #mcp #firebase Собирал сегодня данные по крашам из firebase, чтобы потом спланирова…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →