728x90
앱 설명
- 블로그 UI 모습으로 ScrollView 이용
- CardView struct를 만들어서 BlogModel 배열안 데이터들을 가지고 이미지 , 글 , 작성자 생성
문법
- layoutpriority : 뷰 우선순위
import SwiftUI
struct ContentView: View {
var body: some View {
VStack{
ScrollView{
ForEach(blogs) { blog in
CardView(image: blog.image, category: blog.category, heading: blog.heading, author: blog.author)
}
}
}
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct CardView: View {
var image: String
var category: String
var heading: String
var author: String
var body: some View{
VStack {
Image(image)
.resizable()
.aspectRatio(contentMode: .fit)
HStack{
VStack (alignment: .leading){
Text(category)
.font(.headline)
.foregroundColor(.secondary)
Text(heading)
.font(.title)
.fontWeight(.black)
.foregroundColor(.primary)
.lineLimit(3)
Text("작성자".uppercased()+author.uppercased())
.font(.caption)
.foregroundColor(.secondary)
}
.layoutPriority(100)
Spacer()
}
.padding()
}
.cornerRadius(10)
.overlay(
RoundedRectangle(cornerRadius: 10)
.stroke(Color(.sRGB, red: 150/255, green: 150/255, blue: 150/255, opacity: 0.2), lineWidth: 1)
)
.padding(.bottom)
}
}
import Foundation
struct BlogModel: Identifiable{
var id = UUID().uuidString
var image: String
var category: String
var heading: String
var author: String
}
var blogs: [BlogModel] = [
BlogModel(image: "image1", category: "SwiftUI", heading: "디즈니 스플래쉬 스크린", author: "하명관"),
BlogModel(image: "image2", category: "SwiftUI", heading: "로그인&회원가입", author: "하명관"),
BlogModel(image: "image3", category: "SwiftUI", heading: "3D 신발 보기", author: "하명관"),
BlogModel(image: "image4", category: "SwiftUI", heading: "지도", author: "하명관"),
BlogModel(image: "image5", category: "SwiftUI", heading: "배달의 민족 로그인페이지", author: "하명관")
]
728x90
'SwiftUI > 개발' 카테고리의 다른 글
AimatedTabIcon (0) | 2023.01.07 |
---|---|
배달의 민족 - 로그인 페이지 (0) | 2023.01.03 |
[SwiftUi] 360도 회전 애니메이션 (0) | 2023.01.03 |
SwiftUI - ASKMO 앱 만들기 (SplashScreen) (0) | 2022.06.30 |
SplashScreen-DisneyApp 공부 [SwiftUI] (0) | 2022.03.28 |