-
SwiftUI Grid - Pinned view 설정하기SwiftUI 100 레시피/Grid & Stacks 2022. 5. 26. 19:53
import SwiftUI
struct ContentView: View {
let columns = [
GridItem(.flexible(minimum: 100)),
GridItem(.flexible(minimum: 100)),
GridItem(.flexible(minimum: 100))
]
private func headerView(_ index: Int) -> some View {
Text("Section \(index)")
.font(.title)
.frame(maxWidth: .infinity)
.padding()
.background(Color.blue)
.foregroundColor(.white)
}
var body: some View {
NavigationView{
ScrollView{
LazyVGrid(columns: columns, pinnedViews: [.sectionHeaders], content: {
ForEach(1..<11){ section in
Section(header: headerView(section)){
ForEach(1..<Int.random(in: 5...20)){ index in
Text("Item \(index)")
.padding()
.background(Color.green)
.foregroundColor(.white)
}
}
}
})
}
.navigationTitle("Pinned Views")
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
'SwiftUI 100 레시피 > Grid & Stacks' 카테고리의 다른 글
SwiftUI Grid - Hstack을 여러줄로 래핑 (0) 2022.05.27 SwiftUI Grid - matchedGeometryEffect 를 활용한 애니메이션 (0) 2022.05.26 SwiftUI Grid 15 - 아이템 표시하기 (0) 2022.05.26