PF>b`
zC`K*cbz%#4hq@Ef#o+kFu6q`{l9m|Po)4$({D*t~(KxgJMkb!NjN;neRpvC#Vf=Ed
z;5l8rSl~y8Lze^5v&!$qkc6eUst9(U2?zQ9N8haLepe3zSl_B4J=E=Oec
zv{B(uy-db~bAvZm_2y49vXGTPNUG{!{0aYcAs
zzqFamcYF5L+jR1;+%~s=4ws0hY=YXL=!04cmfRp_73NW_@_;!aukATs%e+sRYFRxd
zcS)=J0s|t})Fl+mEkmWo($hQ3!xqEsJM$1gaikzO@2Ubj!Wdt(bv%sUyfs{{(|GJM
zU7kP&4`I|6ZD8ddJj{rNTM3!Ax`^$-otGAH#Z?i`UUq}c5wkD7H&-$l=Z_x@n;Hq(
z9(Jsl`B8IB4Sgd)0!>`r?5Hx2G@8*7rXO?cn(#4Emp_^-^6x59=n1}gk>>TdS+uv3dt*xG(8A;s)_O#s_ka7^1
z^H`1mO?EDtGm||X9s$|xI$f5x;6tw{uOEfL4qJ*F{*-_ch!xEF*!*0BO8`l{064@h
zpWHeeX*xFL#>)#n>5g8n9QY1FvFZz>#Llz=FlPCiDP2<2B8@3de1$i<#~gA8^w+e*
zNSf?{VjX>b)p_E7)KFqEW#p7^4U+iNFEFca`Y
zx8g|f5%A)Uzhgzn(JoCKDHwC7JqGmMcQ%%n06iDo)yyN5n3tKSUTxKBWa@wDdBa!8P6fDnp
z9h@R$0#*^y{q7FT+3|^wnu~^8$egXzzrpRW!Hr&tpUXdgP?OFzOk>8i{iD`YgI-W;{y9&OmI5$k5GW#=PTPmo5EiXe}%
z4Z*YC(B4gs4jV>B=fohX>>mM#bJ;%RCyfB72_E$_k|sK{p2L=ol-8_qY?|V0TYNn(
zs@D_v4^@H`qNVK*BsE>aKaChO0W3~;N&D_P7gT?S*d?|7c-(^G?!u#p4U=)iAnwWh
z`1;o#PI^Bp#nf@bhIzA*^03?}hBcX^pjC58suzr?a_%np*6(-cFio}|jDJFRrw`qT
zu|>#vW5Rw~$1Soz^BAkmb`q&6-U(zU;LxP>BGnv6{&x6@wWb3$S#p}Te^=1rC}sB|y?socN-t`Z$}
zSBwHbK9jq#h?NatlT)2;+$}Wd_eVYY#wLiw3D7oH1QHr67Xk^(j&%t9I_P}Lc<+Mw7%
z1*0=`^dk_sGjsN1B{E;e4lYVn=TzuUEuWJk$!vfaFxg8GCaCxotNTj~IYQrx7R$`c
zStY|D@3!|>t%J#v^RvXJ3;S!%0-DaASYz0H>xewQIbtPyuGz`yna`X}5jNIxfWpq9
z*P$!QZ9tRESOdk72L>e1z>i07*pYHgA~cOzoZh&N?x9o;1Fgj5i^u+*QOQ>Oct2t#
z;rP6kk>anKGpzQO-j*|wppP$PpXMHdd15MygQl(iA%k@v&(^fQZe+dE{ozlQS7lMh
zZ13SfIq`Lh!$c#PMe8CPTTdXtiN)V|r7OzWHC*H~BEebe^Cj6J^LZ
z&i9td8DDarNgoaq>;=7t9&*D2Nwg6lrSV(Ym{uG@2G^JG9F#*f$(q}8s48!XraP$Q
zcTO75M{^^YRgVYF3A(2G1Crz?=~k^U!IuF+_971(i6dtWHl=hDgMp~rQQ)O5JbB!V
zNh4#WaN1*yvMp`t*%Y=UH8w6%^reCTdI7fN#1bFOyli6k_JkSrI0gol!BvCn7l>Ji
zK8(w>Jz7ChF~=wh!sjCmV`H89q!feP*GdY^aT
zt<%tQaT&u}r=_12@a@+&o9)Haf$WNeR>#900oM{LzAt&r1Zx*H{h4~HyVCPmL9(>K
zuK2Cm67T-6q=FI4nmo5w*`zke+%dVbsVvK5J9s*sq3
zc)ZePRwn#Ryu4uckzN6Y&wAee?W6bzvkfEb$yaVrl|*TN8*>cycu=?sL1vFv0WvC#
z5j0!PycX6Er`ZW#_KT=l=e&uBIiBma@)t(8(~a#o*%_w?|5>OF4jBcvi(hJ7=wHLh>>%%SGz{X6%MEwV8`HgjLydRoxD
zHcQWQV^XR{pEw**7fUUxth)66fv^o4(22vhTg@`$%X2&b{+82xgGuE~1(Y1D1l64O
z8Aa$|g6S|}zZs57_Me|~{kLaBukcmgm2z`TGQdOe0$GHC?ye`=Z>|C@w;uslI)Pfk
zshe>^tnHkmu0yWjj9ZEVEa7bM;iM`}N5e-zd128406zqA6#dod`*#2;<(8pAltR(9
zbizE1+p;hFXjCnEL;xQHPs0v0L`(>Kr_XBkLbP=(2@LT6?dq6mu4KcE}rxV
zusF6p8M0BymW}E5sdM~57OSAzi39HliLvf6rCd7BsWz-Hrr<@dwoJdt6hQ9mWo?wg
zIgTjjI}7mCCwzt7%8GbqpRYMl9~#1`5j6gt{nXd3C=X?&4lBMM)y$g5-n>fR}!o-cINHBa;t;+BOPG2&a{@ktUlaYXcb_T3(|Wr8AO*4xi%s<9*!Uapx&`-Dc@8Q}tq
zSLJnaBw;@*vfMaJZ6#fjWpp_}#EE5;@9IW+m~>nQdl=m~nbf}UTFkx;9Aw@ZQE!?W
zPb25DD;W9Oxb04~`d5f35bPC{DN^jNzO1AAYzjCwJQ*jGe~`MEM2YoFaJrgpy=;`S
z&)lzZ-{Q`EN}^s~Z$tgOsH?tE7ezm3B~87CTj-b8^aOLy3-pzy*pp^&4u;XKW1r?6
z@GpfKe!fd?l=TJEU17hZ?Kd@evIrl7m+ja?b!Q_HboD#7Dx~qxDuQ(iVC*hyarG|U
z4$}2Pv}lp@iU5b$quMSP~rfBmGcZ
zbneMv!biRQ90_uXo1{Ra9y!%Xz9WRu{zcWDpRSEN-frInt$Q1CHks1#V275DFFR5G
zYi>o$>5EoPYz#?LPI3DDi|hvXfl#-&{z2^@VZYZ4Ut5oODL7ixv8`K~t(~uRc;0P(
zM6X?FiVf)f1&?v)3gOFN^W2#GTh&l-I~{7O*Xl8Rfj_Hva}|JpXpmip=Rc}58%b)!
zyw$LyG>!R|E>98DivwGHk=_fHn2N6^X+U|Fc_@lBkTQZA$uYU%gz$6J7gEeY^bump
z>Ktc+X9DaY68#;qwwnp_wcTS3JTf<96pa}|T!WQ49vPta!Dw)954{jUd!Dbs_ECrJ
zfyyJ`dvOrkBf!QQNxrcVjpvI0`b7ulLSo?Yi^gRZj=S+(j||-6X|GFpl(ZGH@k`J;
z$%)U3(QU#$Q5p-MdhB#Zv-zugjO>@qtx|)%!tGZshPO&&^}B}}*mHJS)&YEVb`LdL
z6<**Pc|omcK)2fcb1aA(;8
zGS9eM2w>_HX49y8+V@t8#*I5-K?Xvjo}CkKGY$KS@rakod%SDYS>mE1><$)b6>^%u{wNt
z89!?k&QUxWEWI0v#%N6kd`4{sCugt*1`z8+F~0~?F;9V9qkDx;VK2Lypf=i5Aja6H5D`1lpXhJ?M+&lsr^nb-^`6@>$3KQ~7
zpsBJ>+m1RfaJ#=c4IphWbZ76HJG?15joAJ*5kGTzQ(ui6bE>GUdHIGoh0HXwDRqtH
zXke?r2(pt>xyu3t$%YAokYKFKHirogpT(N*#kQ~0eW|ghWCo|%VZ(fva)>dby(33z
z^I{uXf}!wK3{Z~Gs{;p#$bMp2jC{2QR(|@{e84<(YD@$f)x8!i8wr8%&2Oa@x=SWo
z&Y47X5oMqRQ+MB1_Q}pzuZt#2FYp+pQ~XmR&K~ipUQ04Y5Zh$pBiN*>_U#auD_$%tZk<6
z?z#t|oU~T={JGlaGakNBnG!VjNmlwqDHeaaoN4+JkJiP=JFB`X=}291R3ma8x-Z`g
zPr;bg1Z}o+Q)DK6AX^o&5e++ENl3JPYoJxcdNI_1QpDcJWU25{$F0s#Ma@U+MGf4B
zB5ec13e`}-X-v>%y+k+Jp3aQx+1;quydfO$;$PC@5?A
zW6hu-9|26#Oe{|3`)%XbaMO18M*!xfw4L(lMKw6g5-W)FSx83b!+(ZvKo9+-hjAqdBnD5a^W=rS9*4kPAKP|dIeNiltFUo?1Y_S
zVrx#Krpo)z&f7%z~9V2UM)(JXQl#)+|=~9D_4XY=ur#@5q{s#8RKLTEkADPQP
zM4fA+o%&8!>nF=@gQVfdqJO>+%fHBVrijcS_~THuRWa)FI|PQs%{y4BoD@p1zZ>KR*bw^C0NtPCsT29z23_RK$N|u
zdap|xfL1555~kOE6~M#`9x7S)w$)1S#LRNK+6t3=16E*f*4uq;4%Sz;vIb}dJWsdT
z8yJcQgf=cV!wJ1ji-Ue;H?YQ$&YQ}HEL+)fdfW=&+4`H=B2AZu*j%==`vXPAosjN@
z7u^H@^L3&6_|;BxgC{me*^(l=Hx{#>C=mKeJl&GJgb6NNlCr
zAAEhVcI=U0H-5Pniw~Mh-H*<%pyhWM_>TJKY~n<{btUyTEA`X8W#S=aesQ0puv@V4
zCGNfuQcO*@vL*X1$|Hd0A~)QA6dz6idnV>xmL;oYbzgM3yaZt*8*9p5n>?3(-Du&?
zgKxrC-DKfjUqfV_yO?Py-jTc2ay{qz6vsZk^@DiuDs2G^|5u)E_FB&elEvbp@Eg~~
zryTI{`t0$^bA-t%OZtAy6BT03xOg>S+KFX1Govp&?gNwUQyrRnigk>*)YEy`U&8AV
zBPlYh|7runIa5tZzp@zT&mLd?pjGiCn$>t$E#eUO`eXHY9?>GONE`i(_w
zvC%V!-*Mtk$%F96hs1g7XLsW~G%hs9s#~t|UuSdvASIT?H2q4Yep~s4O%OkOAK|Cv
zcollm+PdsJIZsmtmbi3-MUGKF0yIC}Og;iY*)RP5wSL>5OFLCAo+=4KdU=28BvLt8
z8V*T}pbK9(VGCXLZiV&bKiegFa$7XuLnAd0MA*SMquEy9j}VX&RfcUpgtSwwur}N4
z?F(fW-EpkXlNRsmyRG=pF^M1l-ANXW$(;5S9Rqd<{9JkEzCrx%sy90qaaAqE2UfkJ
zzL3`j;%KUrHUA3XeNl7n;GR^XK2?NyYL8Lu7YJj-B;Tp=j|Q2RUTJH2VJmh#oQKY-8Y_Bf1xuJ+f_
z>yE?9pg~@hJLOqOPvuIMrr
z8HzpkFaA1_qOjp3Jwe?S;jA+ILW_};zuq4R2|`ZsQ1m_Cw3R}e9M$fUIQ0oabbCv=
z4z2E&G$U=>_BA#?^4*`Qzn9A`BcJ$QZmbJ=uuZ%5WEP}w?m@cz&VNI!$tF@m!$c8X0|S!t6WcKHb#8
zf`l115Q$|$LWz?O?GB-$Tr{SBus4P&V|?KOjkwLsU!Md;B@USGc%OAko4=8wS(#}@
vGro&^(N#ghaE{G^A``nh)aYA*3uO9GiLK%lVrkk!k+D>*AVG=maq)iupChho
literal 0
HcmV?d00001
diff --git a/week7/week7/ContentView.swift b/week7/week7/ContentView.swift
new file mode 100644
index 0000000..7a90f30
--- /dev/null
+++ b/week7/week7/ContentView.swift
@@ -0,0 +1,195 @@
+//
+// ContentView.swift
+// week7
+//
+// Created by ๋ฐํ์ on 2023/11/27.
+//
+
+import SwiftUI
+
+struct Product: Identifiable {
+ let id = UUID()
+ let name: String
+ let image: String
+ let location: String
+ let date: String
+ let price: String
+}
+
+struct ProductView: View {
+ let product: Product
+
+ init(product: Product) {
+ self.product = product
+ }
+
+ var body: some View {
+ HStack{
+ Image(product.image)
+ VStack{
+ Text(product.name)
+ HStack {
+ Text(product.location)
+ Text(product.date)
+ }
+ }
+
+ }
+ }
+}
+
+struct IceTrayProductView: View {
+ var body: some View {
+ VStack {
+ Image("icetray")
+ .resizable()
+ .frame(width: 100, height: 100)
+ .cornerRadius(10)
+ HStack {
+ Text("์ผ์ํ")
+ Spacer()
+ }
+ HStack {
+ Text("3,000์").font(.headline)
+ Spacer()
+ }
+ }
+ }
+}
+
+struct ProductScrollView: View {
+ var body: some View {
+ VStack {
+ Spacer()
+ HStack {
+ Text("์์ํ ์ฌ๋ฆ ๊ฐ์์ ๊ณ์ ").font(.headline)
+ Spacer()
+ Image(systemName: "chevron.right")
+ }
+ }
+ ScrollView(.horizontal) {
+ HStack {
+ ForEach(0..<20) { _ in
+ IceTrayProductView()
+ .padding(5)
+ }
+ }
+ }.listRowSeparator(.hidden, edges: .top)
+ }
+}
+
+struct HomeView: View {
+ var products = [
+ Product(name: "์์ดํ๋งฅ์ค ๋ธ๋ฃจ", image: "blue", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์ค๋ฒ", image: "silver", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์คํ์ด์ค๊ทธ๋ ์ด", image: "spaceGray", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ํํฌ", image: "pink", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ๊ทธ๋ฆฐ", image: "green", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์ค๋ฒ", image: "silver", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์คํ์ด์ค๊ทธ๋ ์ด", image: "spaceGray", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ํํฌ", image: "pink", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ๊ทธ๋ฆฐ", image: "green", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ๋ธ๋ฃจ", image: "blue", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์")
+ ]
+
+ var body: some View {
+ List(products.indices) { index in
+ HStack {
+ Image(products[index].image)
+ .resizable()
+ .frame(width: 100, height: 100)
+ VStack{
+ HStack {
+ Text(products[index].name).padding(.leading)
+ Spacer()
+ }
+ HStack {
+ Text(products[index].location).padding(.horizontal)
+ .foregroundColor(Color.gray)
+ .font(.system(size: 15))
+ Text(products[index].date)
+ .foregroundColor(Color.gray)
+ .font(.system(size: 15))
+ Spacer()
+ }
+ HStack {
+ Text(products[index].price).font(.headline).padding(.leading)
+ Spacer()
+ }
+ HStack {
+ Spacer()
+ Image(systemName: "message")
+ Text("5")
+ Image(systemName: "heart")
+ Text("23")
+ }.foregroundColor(Color.gray)
+ }
+
+ }
+ if index == 2 {
+ ProductScrollView()
+ }
+ }.listStyle(PlainListStyle())
+
+ }
+}
+
+struct ContentView: View {
+ var body: some View {
+ NavigationView {
+ TabView {
+ HomeView()
+ .tabItem {
+ Image(systemName: "house")
+ Text("ํ")
+ }
+ Text("๋๋ค์ํ")
+ .tabItem {
+ Image(systemName: "doc")
+ Text("๋๋ค์ํ")
+ }
+ Text("๋ด ๊ทผ์ฒ")
+ .tabItem {
+ Image(systemName: "mappin.and.ellipse")
+ Text("๋ด ๊ทผ์ฒ")
+ }
+ Text("์ฑํ
")
+ .tabItem {
+ Image(systemName: "message")
+ Text("์ฑํ
")
+ }
+ Text("๋์ ๋น๊ทผ")
+ .tabItem {
+ Image(systemName: "person")
+ Text("๋์ ๋น๊ทผ")
+ }
+ }.navigationBarTitle("", displayMode: .inline)
+ .navigationBarItems(
+ leading:
+ HStack {
+ Text("๊ด๋ช
๋")
+ .font(.headline)
+ .foregroundColor(.black)
+ .padding(.leading, 5)
+ Image(systemName: "chevron.down")
+ .foregroundColor(.black)
+ },
+ trailing:
+ HStack {
+ Image(systemName: "line.3.horizontal")
+ Image(systemName: "magnifyingglass")
+ Image(systemName: "bell")
+ }
+ .foregroundColor(.black)
+ .padding(.horizontal, 5)
+ ).accentColor(.black)
+ }
+ }
+}
+
+
+struct ContentView_Previews: PreviewProvider {
+ static var previews: some View {
+ ContentView()
+ }
+}
diff --git a/week7/week7/Preview Content/Preview Assets.xcassets/Contents.json b/week7/week7/Preview Content/Preview Assets.xcassets/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/week7/week7/Preview Content/Preview Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/week7App.swift b/week7/week7/week7App.swift
new file mode 100644
index 0000000..6fc848f
--- /dev/null
+++ b/week7/week7/week7App.swift
@@ -0,0 +1,17 @@
+//
+// week7App.swift
+// week7
+//
+// Created by ๋ฐํ์ on 2023/11/27.
+//
+
+import SwiftUI
+
+@main
+struct week7App: App {
+ var body: some Scene {
+ WindowGroup {
+ ContentView()
+ }
+ }
+}