struct ContentView: View { private let size: CGFloat = 50 private let padding: CGFloat = 5 var body: some View { ScrollView { LazyVGrid( columns: [GridItem(.adaptive(minimum: size))], spacing: padding) { ForEach((0...79), id: \.self) { let codepoint = $0 + 0x1f600 let emoji = String(Character(UnicodeScalar(codepoint)!)) Text("\(emoji)") .font(.largeTitle) .frame(width: size, height: size, alignment: .center) .border(Color.primary, width: 1) } }.padding(padding) } } }