From 3643ee11633b898e4bd71ca0367961d8874b51c1 Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 15:07:05 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[Add]=20#232=20-=20=EC=84=B1=EC=B7=A8=20?= =?UTF-8?q?=EB=B7=B0=20=ED=95=98=EB=8B=A8=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Global/Extensions/adjust+.swift | 8 ++++++ .../iOS-NOTTODO/Global/Literals/Numbers.swift | 8 ++++++ .../IC/ic_feedback.imageset/Contents.json | 23 ++++++++++++++++++ .../IC/ic_feedback.imageset/ic_feedback.png | Bin 0 -> 7876 bytes .../ic_feedback.imageset/ic_feedback@2x.png | Bin 0 -> 22149 bytes .../ic_feedback.imageset/ic_feedback@3x.png | Bin 0 -> 41629 bytes 6 files changed, 39 insertions(+) create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback.png create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@2x.png create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@3x.png diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift new file mode 100644 index 00000000..bde4f6dd --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift @@ -0,0 +1,8 @@ +// +// adjust+.swift +// iOS-NOTTODO +// +// Created by 강윤서 on 2/16/24. +// + +import Foundation diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift new file mode 100644 index 00000000..176ff9ac --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift @@ -0,0 +1,8 @@ +// +// Numbers.swift +// iOS-NOTTODO +// +// Created by 강윤서 on 2/16/24. +// + +import Foundation diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json new file mode 100644 index 00000000..cf776af3 --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "ic_feedback.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "ic_feedback@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_feedback@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffb5fb8eb78e3e8eaa33f952ead3134eb0e11e9 GIT binary patch literal 7876 zcmaJ`RaYELkR2qrLtq95w*bK{IKkcBgG+FC8!QR#?t=vgu9JK?1RH|8ySu}(KVbKv zOZs%ZRNbm``&5jYiYzt;DFy%lz?PSj(sc8TDwAu9o>83XUXImkAjl|KUjb@7-_U)})#6#DW~pS64tj*WdY-cP5BwH&}! z_Ml{0P6hL%93Sh^fjl%lTwl10!#)!fSx{NKbE(U5alUXjUIyOhY>`QN{6_W`S0_mO z1x&+xuZGr-fJ~Y~FF|YQjkJud?0gEV6xv-Xtz0>rjh1JxrM#Xjs&raz*EY5h^Y#UZ z2Hc&k_e9}R{vQVI=Ps(DE`jmxWuGMstqIQlIj^(CrC!mw&u z7pHc74N{(N4>qKP{x{82yv6sf=j__GX7m!By_&yc>&=LnX782&ata%?>oFPQ;Z+Cd zS1k*9o8^Y)f8}Wd*ynje5r$$6sk6?&q=a*r#G0ajmWYHcIh_sMXaO7LquL1c^3O7o z1ho6n@yN8Or>0kSM^@u6en2w-9VcRflz4Y?0CPDx@q&Lo+O)ZW#= z-069n9EY7xxbijBut;3veO~sKv!G zwe@HVjnz3WvM5gqqrL^!-xK4HBguv(7MQC_$rgou0TP{Z57&R95E?0{nYg#6d!mtZ zqr*HOr|zQ3^2viyF>4pN3--f)%YrqHu`QD>Tb~h!Z+oyqN~lB$j+hnBDd-l^=%8my z(|HBctqCr*mA5C_x!&p<&S>3)N&V}R-D2N+t7x!83^Q)@z&gA5fi?W6o=cND@3Bx` z0sMGL%q^>MI0u;iUbc1H|65bCuFCcT9sFJCMZ`nA6wNratnAOb>X0(xYE~@L8Q7Oa zqu1WBOnSJCTzecjotr3u8<4;&N$^jIRIm^)Z__6*j%xR2ZD9<28U*qHSePVM+1fdg6Mg+xTB*Z`_eNWdJ5SgquG2uHy2mXtM7s#F6eQ}wh4e^*@Y7^s!VH;g`>Q{gPp6K~z0TjB!wq)gx#>OW& zpbReFS}`y+4W7Jils%xR5K6a`9yX38>jO{}7-S5qX~JP}iL>b-EH#=*^~(IB6c

YH!G)uZw@>$vBdB>&nJm^o+XljF7d@*_wO3Mz}RE-*2q-|OSf zl%B1Hy&FBkdq|>08hKB&*Bh?@`i>m~r8kumdjNd#c&Qhwf_V_@m!qqmc`y$lLi-6m zh!s2qpr_=sgchT&%F2}MVhvbB^tQG%zw0Q6SVL5wfCbF80K3hY|EOuW98-9aOJ8E} z6VC8I#v4_!*3W-vyKFnLNP?v87{9k;6^}|yA8V*ov?>w?S4LSxtuV^C5Fzgr^-FSh zGX`O~xw$dhP1P{`Qh1M9F>7Z*|2*~G=f=PhG_oL*(jygDJY#oScWIPOpmqC$PL!DL zIZOSlZj=<^t~VZO1n*?ZM6~wQZ4{GI}`SAXC!8JR^;rNTUpsF?G-350a$ zy2sMMc2g(+#DQ2h$W}Khtk@aqE##_dZj;wk}}~~!D#h6 zc=uV%Di(*{7H5hB{$z48bXX+tTBShNiZSlQd8$m}fFf5IiY4>C(tj7$6@`?tU}k4$ z7d7r4f8dpSn#oNi(V7uQHZR-`AmPZAtXR~$+T)g!ePyIHbqU6AL=4ET4Ourjed`(g zawyX7SZ-Bc(JclBhP~LKXgG>(Z@H)Q1M$^TurP+E5+!4VB4=P!oPhnHuO&evLBNpi ze?SwZ0iB*sO^!_NjfRs%CL^5>=Dz!LhmF;9-yt}f_JCo9IQ~2W@dMFXLrOb}qZ##E zQhBC(|C^j)Ipym8ysWGldV&hv-7Sw#ZmdkAfe#*n6#)rt{>#gL%3XLW6u2Z`%CPs= z_3|hL6Z7x~Du2WMew%sWH_{|U-VMZ44t&g+U#|DbbDXszJpTCo z!7Qw^sEGRXzfdG0*&jfB?-Hk46W9TpQL9?qztxyA<;ks9WA5a#X;^Y2zEva~(EU9&tKCjS0-})7xKN7Xavt_fa^xCt!?eZ^`LpOl>cIW^OD( zv83&(^(Bzx_%DhD8{fFfjEOp(`wNpbR|@xO9!ck56BNBp%T1##7=6jUqvD*G7Qk)n z&lIA0oYuV_ZE%c+i002kP$`l03M0;#o)m`u`b>lUMBSA9?}|PLmCEw+v|~T(eOmkc zj%rXHC7x(y<1Bf3kRPOI*1N^2=0LX;-)B|G5vOd zXFhEZt0Zb0Zm-ePd^0G{N53c;IV97c;dSS7pGGZtA(o5)L?+3C8b><`++SXR>|G)g z0@l|+JeLIBo=qQD0N9D$eek&dd=LAt&f(1V`6WV(Wd({H!2jkl-qR%3%OUn@@xD_A zHo2iV7gfk?`;n$vV>OXR{d&!DU+I1R!4ttnwzt=_BXkO$+R~_E(Q(Yis}m6L?QU}i zix_fMv0jOkof~i9-f!7*E zx?u^UsfvE3=OZ-7+s12T1k&MkB3xg=gklD*qZ2=kZTZIEr%V4T@xp3!#-Z=$w_aa= zDNM00Rp9Bo;lv}`XNr;_GUSox9M z&R9RxlyFtgY&p=x)6qL~%Q8Spr;eRzBuRibntCCQ!kwybX5S!=!P;aM9i20Rl(t<` z+O=#Ow*uz*kcBYQ+2%m~JL&ACRM(mM4~J89Oqvl#sNB_>ykj7_kfvK_BA>Fda#YyL zGZo%{dsGDXwF8TK%MLtM3#+gWAH<-mL@H#si&VTQpGBnXI|t7ZVa`^FC7y2;)_6&Y z;(KLM+J)pYi~R{rAsXbVV)NYHjvtan>-K=qgs&J@y>EYIYb3<_F!ch zldlP4!@d&xSCn}LwbVw;@yhrC8;H?%FA_bWup`D*JUR`NY4AFt3T=?jB`9TOF+Ygi zgT|jHuh+dV@Y6t)kN&{^w=Z&5DsZ73yy+!5-RIt(j=HDUY?1u{q+gZ7maNSA(Y6cH z>enW_ST1L44j;G@W{aC{IvP%=c@>CUp3L~~Qu|LXLu4yWF+&1XiF4J~nR041Xao46f2EP)42D2j3Zd39LYY%r9 zsYc&TuM4!bVc){8$5u>$pKtI_ds~Cvfrc@iSD~+*6Bd}tE_Z9cWmakNuq3{`hF*|o zG##O?=CzR%pp7a#y}`c8W_Ju1m8Q<_3(~G6cjl1Bc{@W=r%Z+3{#j`KW*QB&@mdR- z>qW!hBOD~H*3?~8*ezba{x3KIYcmVa<#Cpr&`f`2E3uRD>wNgc&|{3<@GKFNa6ljp zpNMKiA@dT_C$BBMscF73;O)UArJ%=PiNDG_)?#Ig2OnFnD0Xm-fdx?DHBKY1Ql}A5 zC5>NFHlbOE19_+|!Gkq$fy8BYAQ_9!M&6-&LWHYSB8mRcpt7cmJ~k&u)H~Qxl5mv( zOL9Tla$D{+TPecnD`|7)SVm6T=vTw|CK7aV5Ix!}Qe~CHTwOd_?RHAu1j26)+vq`| z0&{=26-iA6sxCN<>r0LC;{&AUhTr&fCE{i-Qw{3psRWI-Fe;9-#&P~xOa4j3Nu?Qo z^uw6Dv>}^2C>E%}2LeZIyz*w&zjrEdp_eCH9@4fYXa!r0QQu8l#g8149HsHqz6`6UA*ALq{ZHrY zpP~(O6lP1;+QS0%02_g^tj>7Q-!8(jyc$Ka!62`nHt@E>_zGiKVS3{Cv1Ow55p+gX zL9f9aAXMHa9?ZYLmHD(OiMmM;v^FY9&BF5iAh$bi2cmgP%F6eHgo_F zc)P9?Qf~;8ot-HT@~BGW#a@IirJ7Pf20{}EbB%MsM<<}*{MS#c#&gNY_=5J2cxb`` zHaoopa%zphb4HaT!}zu{PpJffJg}VvVw78G-4aP$)x(!>rTvUon>gy3Ao@f<04>v#Z-- zTNS>tZvJc*XR&si&yc9dOlm)(Of1X~S_QXBU&zyoU0qEL{PKt$?XURbNJU8N-Rqgw zHMy+*mDAXw+NQcbZuVo>_Kv@%HShjKAgt6)iT$74z9|ls+nK`tmg)_Smb;}JAsde9CtfiW2^iwaB-mU zmUW#U|4s%$(ZGox+&-BPs?=tIiZLN?=Ui$5g}E;{;I3+Kn|U2&Xb0~9i%?M*El#UP zs(IdlR$VlmQcZOfzgT37J8eV(NA#ed+xSxWPlwjC*=YCFaL3)%y317ZF_OzvLOVOz zICgFp?dJGo5RNiq2xZg6g+5osZFR-J3I?6!7dDnDzE?#DDPGqOSOc*0(r2GHDm3YN zTrMs2nPo5c+Wpw?`%&!3zjFRm#Ce*iu*%$;U>)3DsAo61dWoqM_;%;^F{E1dsNjmM zS?jf#v`f;;L&acir;r~rIebJn$=>Tjm={Ec{-x2*TkGrm#meDb-ET!oB}TxqE6K^A z;XxE7uf4~RBKz|VAKq|r^l!giem9RlB6Z#K4L0>UwI(lCSNMYFY|noasC&e+gnbwA zo8;=jF0%8!i7LdsDEpYvM^ttga?0pC(Gy~P-WNAUu_KAa*isZgENHt|-x2e}EZ!}o zXMLL1`FN4J%8H-FAh2eo(QXrGO?OGfK6k1{3)cOegrY@jfJ)1&#Yx28-A&N+;jBjl zR#IsLbzu9baodZxbFwTHSptPd{JtMOts&!g+Mt*sh6TS|zUKI!EM zt{G6s2h}Flww8okJIOXtwY+O?P{9o$)*%xAh1{jaoykt8PKQ<-zH*^1;4fGfS${HW z!;dj#YH(;i3FmJTVeF^|nJu-VKduCNFOoFnGDz6x10XvaG9R?^XG#@K-Z4Pz-~K$> zg5D=Ri%~e_uD0{_BsLmyHgJIdyi>?RDfVgKk_3b&-wc`1vyE_9Xg$yW=qtiD5wnb~ zE!uHyyT`rA*KqK^MSka%YpO=VM)dR3w%t4fqVCcKflKRSE&CZbvINb)JDX;!;q0D@ zfz)Bw3y)FwKsXAvnCH>l01~@tjlwLJ$E@)!g@U}i<0r2pJyC45!mBzxGI?8Ig=@*y z@GcZuW+`iPp~Q4eAv=EcDdgG{TXsB;E$~`mKEik~p;0Bjuz9ih>-=>s90zW#*?0=O z9V-TI{;Afei&PqmhOVoUKJkj^~SIvnET2nMKavNJgz_%(S_u ze;du_|1m=v_E(aclg?=OG#3uXe$U&(iNB6HO@Y>0>vBqUdyTmUF?(DsOI~l zZay2dunxrf7^xyHHS>#gFXsAfT;(?X)+QKCE?cS#^+C5S6Pqz0L zx+lymLiyF3zWXd3i2|LkFQ{HY5Bo#i*kn4f3}hxo0R1;aGDCjJG{S?f@x@UKbJIbWr*Hmt^a3nKU1CkAbh*D zAuQPT+{{TMLx)mcQOzRad9l>NsFE`uFZHMLUvH(ix;2@|>9Gj3`ZgR_H0PzCtQH)J zEG02AZP;;hye|idy28ch*m)YPqlh`g`a9Qg8=m*S6}0s@`5TE#c|Ek&)${k7x3a}y z_9ket<@G+!j3avG^_Jh@<&w3;mfG6bSbG~63E8@205-fN!QH=W0@Wy_>R52Yl zC0+MhzIr+>WJ|HaR&yJ()lW6k!sQi3LHF>so^Q#0yyQB;Ob%^>aOS74KQ+OowR5Jo zOuS*gkFT#j>e2aOyUq9sb)lLhMr3%ZM|EXok!G1nTdKuC96KAUNP2_K_+t;}j+onF zwRg_o@S#C5p=e|m5oe6;NLteCz;81CnvUXv0-O1*A#ZZ9fSXe0BaS&R!{j>8f29v( zx(DJyp+He@h>?a}bK9sGp`t?|)GvQiPj_5b&cx(0u$Yopq%pVKQkZ!wHR5n~rl+U7 zCd*W})%2a5OdL&2_&FORE7MX_t&1{&eh(hpJsdR;znflc8%|~l7 zX?mPlb8R1F!H28s?`%Z0Pul^cPTX#e6!Vc3Mb>{rE&5BuK8I0#iB{EXyKv-bo*Cbp zt2z+j_LTB~GC0=l39h&=UM_wDkg%tDfAZK9k56WN)lt*e|IFh2-}7y-h2iN+N}_w9 ziEli%Yu@RvBJcJXKXk^xp9~PUCL`2I7D#I__3Pd5$Cvxv1S+`?8-zMP?yrbaU&peFty_P&pdA= z$Mt22oS{JDv6&0WJgy+?17d-)jEAOqpr^Etq(B<@65*y&zXAF+3|XREUi8cTMQjg8 z|BJKWOhdrlT=4?=fsfyDPG+zYt3&N^?N3J3?}KsF6x)Y~H^sYzf`QRWGUz!2{<^BC z)UC(+g}X(XcK(jlO;?3c(B=c@8xvfDq&vv0$>N=e(yx(dZ)L(^>}n6-uF9~NcCBSb z2IrIOlDz9IuTnVqbwJPAit32vf**{kk0FYK{Ha5~fq~xghpL?324NceY9sJZaIh|y zmG95V?HAC5Nk>cdoLlv~l9${5y&t~hGG$+EM>w1^ze>jOnl*)nz|3!s_Q|Na65&;@ zAQ^>3s|b_-;z$sskVK&LZ z&|D?_6gza?!t9_dxA|1)gh^)>q8A4q8e6`IzZ+*GEuHW=x?=k8d#rya#OZe@h*)gO zz^GQm`(CaeI_DFC23$WaR*rImh$Z{h2%xXAOC#ge9jc=<=2{A5sK+J;hF2+=f}Dz zpZ!i>(|O!u@NwiFgkF(vL{|3butvAG>c#VK=bbWGO+Y8!9%>&eEY^}eeSOvkniTP_V~_-&@?t%f zItLzBJyM}hoJ6botVf7FAz%N8#Ff3HJblm!v%r{I-Cg*~Z_u!#q5P8?3Bzt1ucOTH@KTd9w4()l)RKZd9{^?GN8!e|fpJISwU5KGwNF9~WskpdQ{( zZ4GB=WRA)Jnv{7_Gn|mLhFN{5^tHTka0xFoCd@xuTzz@rE!hS7?l9OD9k&ZHn&M2j zp;-PVjp2FPnUJOIMC7Mhc&>GzMhK2Pcu=+si34anEQh8VWg_Xne_C+lAy z2WfAE0sI^bur0#8z#DJPgz|AFyZHS*S2wS#)AvUZ-y2l1j0U0rx&d~3(TBa+mZB?m z_u1u%!;2w#kkQYso^wCTFjXHC`OD&Odw*CZBvku)OxE-h38x>Ow$7!+p4MkqQ7P5s zFq&%5uO@4kLwkwaytVH4`p8t-_0D3`|C2SMdw-6uD)y|v-op`<1#LT&x!wr;f7Z8j cpcl$NBpgnNL=FXSOJ{(*w2D-Xgjv}C09bik)Bpeg literal 0 HcmV?d00001 diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@2x.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8d887228063ade8105e773b8d43821358c850e GIT binary patch literal 22149 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 literal 0 HcmV?d00001 diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@3x.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_feedback.imageset/ic_feedback@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5ced0c165bf33340ff19ffed124ec850c63605 GIT binary patch literal 41629 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 NML9Lunh)l|{{v~8= Date: Fri, 16 Feb 2024 15:08:37 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[Chore]=20#232=20-=20=EA=B8=B0=EA=B8=B0=20?= =?UTF-8?q?=EB=8C=80=EC=9D=91=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EC=83=81?= =?UTF-8?q?=EC=88=98=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=A4=91=EB=B3=B5?= =?UTF-8?q?=EA=B0=92=20=EC=83=81=EC=88=98=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Global/Extensions/CGSize+.swift | 12 ++-------- .../Global/Extensions/UIScreen+.swift | 2 +- .../Global/Extensions/UIViewController+.swift | 12 ++-------- .../Global/Extensions/adjust+.swift | 23 ++++++++++++++++++- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift index 2e66925e..7ae3442f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/CGSize+.swift @@ -9,21 +9,13 @@ import UIKit extension CGSize { - func getDeviceWidth() -> CGFloat { - return UIScreen.main.bounds.width - } - - func getDeviceHeight() -> CGFloat { - return UIScreen.main.bounds.height - } - /// 아이폰 13 미니(width 375)를 기준으로 레이아웃을 잡고, 기기의 width 사이즈를 곱해 대응 값을 구할 때 사용 func convertByWidthRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 375) * getDeviceWidth() + return (convert / 375) * Numbers.width } /// 아이폰 13 미니(height 812)를 기준으로 레이아웃을 잡고, 기기의 height 사이즈를 곱해 대응 값을 구할 때 사용 func convertByHeightRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 812) * getDeviceHeight() + return (convert / 812) * Numbers.height } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift index d919edee..b194fc00 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIScreen+.swift @@ -9,6 +9,6 @@ import UIKit extension UIScreen { var hasNotch: Bool { - return !( (UIScreen.main.bounds.width / UIScreen.main.bounds.height) > 0.5 ) + return !( (Numbers.width / Numbers.height) > 0.5 ) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift index 708b738d..cd67869f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UIViewController+.swift @@ -10,14 +10,6 @@ import UIKit import SnapKit extension UIViewController { - func getDeviceWidth() -> CGFloat { - return UIScreen.main.bounds.width - } - - func getDeviceHeight() -> CGFloat { - return UIScreen.main.bounds.height - } - /// Constraint 설정 시 노치 유무로 기기를 대응하는 상황에서 사용 func constraintByNotch(_ hasNotch: CGFloat, _ noNotch: CGFloat) -> CGFloat { return UIScreen.main.hasNotch ? hasNotch : noNotch @@ -25,12 +17,12 @@ extension UIViewController { /// 아이폰 13 미니(width 375)를 기준으로 레이아웃을 잡고, 기기의 width 사이즈를 곱해 대응 값을 구할 때 사용 func convertByWidthRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 375) * getDeviceWidth() + return (convert / 375) * Numbers.width } /// 아이폰 13 미니(height 812)를 기준으로 레이아웃을 잡고, 기기의 height 사이즈를 곱해 대응 값을 구할 때 사용 func convertByHeightRatio(_ convert: CGFloat) -> CGFloat { - return (convert / 812) * getDeviceHeight() + return (convert / 812) * Numbers.height } func changeRootViewController(_ viewControllerToPresent: UIViewController) { diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift index bde4f6dd..1d7e053c 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/adjust+.swift @@ -5,4 +5,25 @@ // Created by 강윤서 on 2/16/24. // -import Foundation +import UIKit + +extension CGFloat { + var adjusted: CGFloat { + let ratio: CGFloat = Numbers.width / 375 + return ratio * CGFloat(self) + } +} + +extension Int { + var adjusted: CGFloat { + let ratio: CGFloat = (Numbers.width) / 375 + return ratio * CGFloat(self) + } +} + +extension Double { + var adjusted: CGFloat { + let ratio: CGFloat = (Numbers.width) / 375 + return ratio * CGFloat(self) + } +} From 3cb94c463ea3ba7f714ac542dc57b3304c949733 Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 15:11:00 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[Feat]=20#232=20-=20=EC=84=B1=EC=B7=A8?= =?UTF-8?q?=EB=B7=B0=20=ED=95=98=EB=8B=A8=20=EC=97=90=EC=85=8B=EA=B3=BC=20?= =?UTF-8?q?=EB=AC=B8=EA=B5=AC=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Achievement/ViewControllers/StatisticsView.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift index 4b56838f..3e0214f5 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/StatisticsView.swift @@ -38,7 +38,7 @@ extension StatisticsView { private func setUI() { totalImage.do { - $0.image = .icSNS + $0.image = .icFeedback } titleLabel.do { @@ -54,13 +54,13 @@ extension StatisticsView { addSubviews(totalImage, titleLabel) totalImage.snp.makeConstraints { - $0.top.equalToSuperview().offset(69) + $0.top.equalToSuperview().offset(18.adjusted) $0.centerX.equalToSuperview() - $0.size.equalTo(CGSize(width: 63, height: 51)) + $0.size.equalTo(127.adjusted) } titleLabel.snp.makeConstraints { - $0.top.equalTo(totalImage.snp.bottom).offset(26) + $0.top.equalTo(totalImage.snp.bottom).offset(6.adjusted) $0.centerX.equalToSuperview() } } From 0475994ec23858133494ddb48df37cb1863f4725 Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 15:11:19 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[Fix]=20#232=20-=20getDevice=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=20=EC=83=81=EC=88=98=EA=B0=92=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj | 14 +++++++++++--- .../Global/Extensions/Design/UIImage+.swift | 1 + .../iOS-NOTTODO/Global/Literals/Numbers.swift | 7 ++++++- .../iOS-NOTTODO/Global/Literals/Strings.swift | 2 +- .../AchievementViewController.swift | 4 ++-- .../DetailAchievementViewController.swift | 2 +- .../AddMission/Cells/DateCollectionViewCell.swift | 4 +--- .../ViewControllers/AddMissionViewController.swift | 4 ++-- .../DetailCalendarViewController.swift | 2 +- .../ViewControllers/HomeDeleteViewController.swift | 2 +- .../FifthOnboardingViewController.swift | 2 +- .../FourthOnboardingViewController.swift | 2 +- 12 files changed, 29 insertions(+), 17 deletions(-) diff --git a/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj b/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj index e30e510b..5103cada 100644 --- a/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj +++ b/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj @@ -46,8 +46,8 @@ 09A1465F2A192C4900DDC308 /* WeekMissionResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A1465E2A192C4900DDC308 /* WeekMissionResponseDTO.swift */; }; 09A146652A1964B500DDC308 /* AddAnotherDayResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A146642A19649A00DDC308 /* AddAnotherDayResponseDTO.swift */; }; 09C8602D2AB14B4800C4F4B1 /* FSCalendar in Frameworks */ = {isa = PBXBuildFile; productRef = 09C8602C2AB14B4800C4F4B1 /* FSCalendar */; }; - 09CF56042B09F23800526C8C /* HomeDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09CF56032B09F23800526C8C /* HomeDataSource.swift */; }; 09CF56022B09E98A00526C8C /* DetailAchieveHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09CF56012B09E98A00526C8C /* DetailAchieveHeaderView.swift */; }; + 09CF56042B09F23800526C8C /* HomeDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09CF56032B09F23800526C8C /* HomeDataSource.swift */; }; 09DCCD1F2A18ED76003DCF8A /* DailyMissionResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DCCD1E2A18ED76003DCF8A /* DailyMissionResponseDTO.swift */; }; 09DCCD212A18EF43003DCF8A /* HomeSevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DCCD202A18EF43003DCF8A /* HomeSevice.swift */; }; 09DCCD232A18EFB0003DCF8A /* HomeAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DCCD222A18EFB0003DCF8A /* HomeAPI.swift */; }; @@ -117,6 +117,8 @@ 3B5F8F8329BF90290063A7F8 /* SituationCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B5F8F8229BF90290063A7F8 /* SituationCollectionViewCell.swift */; }; 3B5F8F8929BF9EFE0063A7F8 /* AddMissionLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B5F8F8829BF9EFE0063A7F8 /* AddMissionLabel.swift */; }; 3B710A5C2A62D4AB00E95620 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3B710A5B2A62D4AB00E95620 /* Settings.bundle */; }; + 3B80B5D52B7F304D00697250 /* adjust+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B80B5D42B7F304D00697250 /* adjust+.swift */; }; + 3B80B5D72B7F30E200697250 /* Numbers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B80B5D62B7F30E200697250 /* Numbers.swift */; }; 3B892AB82A2FBBAD00A316BC /* AddMissionService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B892AB72A2FBBAD00A316BC /* AddMissionService.swift */; }; 3B892ABB2A2FBD4C00A316BC /* RecommendSituationResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B892ABA2A2FBD4C00A316BC /* RecommendSituationResponseDTO.swift */; }; 3B892ABE2A2FBDDE00A316BC /* AddMissionAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B892ABD2A2FBDDE00A316BC /* AddMissionAPI.swift */; }; @@ -212,8 +214,8 @@ 099FC98829B3233D005B37E6 /* CalendarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarView.swift; sourceTree = ""; }; 09A1465E2A192C4900DDC308 /* WeekMissionResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeekMissionResponseDTO.swift; sourceTree = ""; }; 09A146642A19649A00DDC308 /* AddAnotherDayResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAnotherDayResponseDTO.swift; sourceTree = ""; }; - 09CF56032B09F23800526C8C /* HomeDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDataSource.swift; sourceTree = ""; }; 09CF56012B09E98A00526C8C /* DetailAchieveHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailAchieveHeaderView.swift; sourceTree = ""; }; + 09CF56032B09F23800526C8C /* HomeDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDataSource.swift; sourceTree = ""; }; 09DCCD1E2A18ED76003DCF8A /* DailyMissionResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DailyMissionResponseDTO.swift; sourceTree = ""; }; 09DCCD202A18EF43003DCF8A /* HomeSevice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeSevice.swift; sourceTree = ""; }; 09DCCD222A18EFB0003DCF8A /* HomeAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeAPI.swift; sourceTree = ""; }; @@ -280,6 +282,8 @@ 3B5F8F8229BF90290063A7F8 /* SituationCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SituationCollectionViewCell.swift; sourceTree = ""; }; 3B5F8F8829BF9EFE0063A7F8 /* AddMissionLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMissionLabel.swift; sourceTree = ""; }; 3B710A5B2A62D4AB00E95620 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; + 3B80B5D42B7F304D00697250 /* adjust+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "adjust+.swift"; sourceTree = ""; }; + 3B80B5D62B7F30E200697250 /* Numbers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Numbers.swift; sourceTree = ""; }; 3B892AB72A2FBBAD00A316BC /* AddMissionService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMissionService.swift; sourceTree = ""; }; 3B892ABA2A2FBD4C00A316BC /* RecommendSituationResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecommendSituationResponseDTO.swift; sourceTree = ""; }; 3B892ABD2A2FBDDE00A316BC /* AddMissionAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMissionAPI.swift; sourceTree = ""; }; @@ -705,6 +709,7 @@ 3B11740C2A4B574B0033DDF3 /* CALayer+.swift */, 0943A9F82A53239200614761 /* Bundle+.swift */, 3B03D0D72B0F5EF300302872 /* CGSize+.swift */, + 3B80B5D42B7F304D00697250 /* adjust+.swift */, ); path = Extensions; sourceTree = ""; @@ -1126,6 +1131,7 @@ isa = PBXGroup; children = ( 6CF4706929A71D71008D145C /* Strings.swift */, + 3B80B5D62B7F30E200697250 /* Numbers.swift */, ); path = Literals; sourceTree = ""; @@ -1357,6 +1363,7 @@ 6CF4705B29A68EA9008D145C /* URLConstant.swift in Sources */, 3BD3B5C829B8F82C00D3575B /* AddMissionTextFieldView.swift in Sources */, 3B14518629C618920013DFB4 /* ActionCollectionViewCell.swift in Sources */, + 3B80B5D72B7F30E200697250 /* Numbers.swift in Sources */, 092E04B129BD9C86008A5892 /* MissionDetailCollectionViewCell.swift in Sources */, 6CF4706D29A739D9008D145C /* RecommendViewController.swift in Sources */, 3BC1A27429C9AF500088376B /* MissionHistoryCollectionViewCell.swift in Sources */, @@ -1421,6 +1428,7 @@ 6CF4706529A690E5008D145C /* NetworkBase.swift in Sources */, 099FC98129B3094F005B37E6 /* WeekMonthFSCalendar.swift in Sources */, 6C16016429C5E37D005AE3F5 /* MyInfoAccountStackView.swift in Sources */, + 3B80B5D52B7F304D00697250 /* adjust+.swift in Sources */, 09F6718229CAD86100708725 /* OnboardingCollectionViewCell.swift in Sources */, 6CF4707029A73A15008D145C /* RecommendActionViewController.swift in Sources */, 0943A9F92A53239200614761 /* Bundle+.swift in Sources */, @@ -1846,4 +1854,4 @@ /* End XCSwiftPackageProductDependency section */ }; rootObject = 3B027A6C299C31B500BEB65C /* Project object */; -} \ No newline at end of file +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift index dcaec932..200c2dc1 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift @@ -61,6 +61,7 @@ extension UIImage { static var icBell: UIImage { UIImage(named: "ic_bell")! } static var icCircle: UIImage { UIImage(named: "acceptCircle")! } static var icStarbucks: UIImage { UIImage(named: "ic_starbucks")! } + static var icFeedback: UIImage { UIImage(named: "ic_feedback")! } // image diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift index 176ff9ac..7dc038a8 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Numbers.swift @@ -5,4 +5,9 @@ // Created by 강윤서 on 2/16/24. // -import Foundation +import UIKit + +struct Numbers { + static let width: CGFloat = UIScreen.main.bounds.width + static let height: CGFloat = UIScreen.main.bounds.height +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift index f4c002ef..d3fc239f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift @@ -47,7 +47,7 @@ struct I18N { /// Achievement static let achievement = "성취" - static let total = "<매달 낫투두 성취 공유하고 선물받자!>\n인스타 @nottodo_official을 확인해주세요 :)" + static let total = "남겨주신 피드백으로\n새로운 기능을 업데이트 할 예정이에요 :)" /// Detail diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift index 1f998bc4..28b52b0c 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/AchievementViewController.swift @@ -97,13 +97,13 @@ extension AchievementViewController { monthCalendar.snp.makeConstraints { $0.top.equalTo(achievementLabel.snp.bottom).offset(22) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo((getDeviceWidth()-30)*1.1) + $0.height.equalTo((Numbers.width-30)*1.1) } statisticsView.snp.makeConstraints { $0.top.equalTo(monthCalendar.snp.bottom) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo((getDeviceWidth()-30)*0.6) + $0.height.equalTo((Numbers.width-30)*0.6) $0.bottom.equalTo(scrollView.snp.bottom).inset(20) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift index 697ffb67..a2bc0d21 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Achievement/ViewControllers/DetailAchievementViewController.swift @@ -88,7 +88,7 @@ extension DetailAchievementViewController { collectionView.snp.makeConstraints { $0.center.equalTo(safeArea) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo(getDeviceWidth()*1.1) + $0.height.equalTo(Numbers.width*1.1) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift index dab64b92..213e292c 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/Cells/DateCollectionViewCell.swift @@ -23,7 +23,6 @@ final class DateCollectionViewCell: UICollectionViewCell, AddMissionMenu { private lazy var tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: today)! private var dateList: [String] = [] private var missionType: MissionType? - private var deviceWidth = UIScreen.main.bounds.width // MARK: - UI Components @@ -57,8 +56,7 @@ final class DateCollectionViewCell: UICollectionViewCell, AddMissionMenu { func setFoldState(_ state: FoldState) { fold = state - let deviceWidth = UIScreen.main.bounds.width - let cellWidth = deviceWidth * (345/375) + let cellWidth = Numbers.width * (345/375) let cellHeight = cellWidth * (470/345) missionCellHeight?(state == .folded ? 54 : cellHeight) updateUI() diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift index 295494a4..543b50a2 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/AddMission/ViewControllers/AddMissionViewController.swift @@ -216,7 +216,7 @@ extension AddMissionViewController { let layout = UICollectionViewFlowLayout() layout.scrollDirection = .vertical layout.minimumLineSpacing = 14 - layout.footerReferenceSize = CGSize(width: getDeviceWidth(), height: 319) + layout.footerReferenceSize = CGSize(width: Numbers.width, height: 319) return layout } @@ -382,7 +382,7 @@ extension AddMissionViewController: UICollectionViewDataSource { extension AddMissionViewController: UICollectionViewDelegateFlowLayout { func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - let cellWidth: CGFloat = UIScreen.main.bounds.width - 40 + let cellWidth: CGFloat = Numbers.width - 40 let height = heightList[indexPath.row] return CGSize(width: cellWidth, height: height) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift index 0091f8d6..42921fef 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/DetailCalendarViewController.swift @@ -118,7 +118,7 @@ extension DetailCalendarViewController { monthCalendar.snp.makeConstraints { $0.centerY.equalTo(safeArea) $0.directionalHorizontalEdges.equalTo(safeArea).inset(15) - $0.height.equalTo((getDeviceWidth()-30)*1.2) + $0.height.equalTo((Numbers.width-30)*1.2) } subLabel.snp.makeConstraints { diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift index 92f94bf1..72b94a45 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Home/ViewControllers/HomeDeleteViewController.swift @@ -64,7 +64,7 @@ extension HomeDeleteViewController { deleteModalView.snp.makeConstraints { $0.directionalHorizontalEdges.equalTo(safeArea).inset(52) - $0.height.equalTo((getDeviceWidth() - 104)*1.09) + $0.height.equalTo((Numbers.width - 104)*1.09) $0.center.equalTo(safeArea) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift index 6c89b37f..9ba60cbc 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FifthOnboardingViewController.swift @@ -96,7 +96,7 @@ extension FifthOnboardingViewController { } gradientView.snp.makeConstraints { $0.bottom.equalTo(nextButton.snp.top).offset(-90) - $0.top.equalTo(safeArea).offset(getDeviceHeight()*0.5) + $0.top.equalTo(safeArea).offset(Numbers.height*0.5) $0.directionalHorizontalEdges.equalTo(safeArea) } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift index 4f2f5c5e..f38c3c7a 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Onboarding/ViewControllers/FourthOnboardingViewController.swift @@ -83,7 +83,7 @@ extension FourthOnboardingViewController { } gradientView.snp.makeConstraints { $0.bottom.equalTo(nextButton.snp.top) - $0.top.equalTo(safeArea).offset(getDeviceHeight()*0.5) + $0.top.equalTo(safeArea).offset(Numbers.height*0.5) $0.directionalHorizontalEdges.equalTo(safeArea) } }