From ddea14acc023d1289762a5d5888089d3c2416213 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 12:48:33 +0100 Subject: [PATCH 01/22] Adds some code for the first status bar button --- .../UserInterfaceState.xcuserstate | Bin 30093 -> 30242 bytes .../WhisperDemo/ViewController.swift | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 706039e6187704f2471ca2753b4ea82b32a56ed6..9ffcb1cf5e0468b03f49838aa5a13f2e7805fcfd 100644 GIT binary patch delta 13818 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 delta 13611 zcmZ`<2S8KT*U!B%@4W;v7)clb681~;P;sG%)oL~GI;&QzKDE|b z6-Bhxz4zXGTesF~ht<}$wpOivFQgRsf33*KJ?Hm3=bn4dx#PWMKY|%gz$_87id{_! zDua8hcY#-CYe(XH8T%Of83$$`46!jm55NK#zyTNVfGh9-65s>EKsbm1a-aZ_AQmKo zOke<6ARFX>T#yIyK@F${eLx+k2Yo?5&>u8_L0~+X049P-U^18jJ_J+2G%y`}1ZIGl z;A1cg%m#A+1?GZzU_NLAE5R!81y~Kfr1}9q_arzA&Vei7Cb$nCQxky7riL1*hndg_ zO|S?S!%{d94uXT>5ZDNZ!eOup4u>{KLIlUd32-8u1Si8;a5nq|ehwGIWv~sdhF`*s za1-1Hcfs9o4?F~q!jte6yaunsuiy=M6F!FD!tdbs@CW!5{tADCui!f-&Lo&@ri+s4 z%5-CjnLbQkW&ksSDQ7B}am;vT0yC9qVCFN6nWfB1W(~8J*_Szx*~lDD)x%$zVwM+G z&MdVZU>#%~VjX53VI5^1V;yH*W?f-jWnE)^&3efChV_W`nDs5|JJxTk7p&h|e_%|k z2gbrM%oTIP+%X|0!o-*d7KjC5!B_~U!eX&FEFMe4w3rS{#|kkcX2OavD^`OI#)e>x z*ih^PY%DeovtcBLu<_VTBla;i3tNPJjxENPU|(Wuu(jAaY!|j0+k@@J_F?<61K1ht zEOrh%kKMv<{cE_9ylV$8a1ca5m1top5KIi$~y5)TACNTN6GUABm5} z$Kf`7B0deDiBtGod>;N8z65W@SKw{<8hiu372k$$$M@m~@niUL`~-duzl2}Mzrt_e z_wa}Kclh`C5BSgcZ}^}1EBrM92o}L1oCs&al@Jl$goN-R0*DYoPAG^-B9=%bQi$F} zDv?eYY(yTBPZSVlqKqgf1`|VwMq(&2jA$Z;6V1dZ;sb&t5HX&ZOngMlAZ8PDh`Gc( z;!|P?v6N^bwi4Tj?ZggZC$WpzP3$4|68nh#!~x4n*QHV-!lcRF#-8RxTZr6mS1KNxAtlu7I#vNkPs< zyn?JFr;}mSP$w_yH%?FBPtA4`Q}s>}Kw|%krK_(U(T|$xlq(Ek1Toe!)-l$TN$p=f z$rQ3T^|Mn5mE{~vMLJ8UdCu@0L6E-^R^C&o@j!!pJ$#%{6~nM~bt?k#g4 zGlup;Y4;~4E=ewpPlz2m)}ecl(Xf;ZrENuQ&ftCwdj7=-Ze{$*c*S_lctaXV6InzS zw=&)`f&c>m(o8#1N|uvh)dF{eE?wI=Xi&}2;q`UR^@E2~FJ0x7&fPV*ik6rghBwp> zsyEj6X}-*0+r0t=;4oZU0Gljn0Zycas&SJj_&~r2Ub>VF>riq7!he)RWEmOMA@BrV z6zLWe;tK+34}l+$0vYfpE6FOdnzXipKsr!CAcU-G4^u7myPK^~6o~$ZEQajUNfrm< zyPHh{YDRDy=m~m(WRL=SgH*Df>`V3|`;!gifHt53X+T5sr!#`cf#e|iJBge|e}_@i z_}-M9Z>4yAU#$Rkcv}E0jNp}^5Ey|86oF!31|{TRatPT-4kd??P2}*Ej7(4l%0UGq z(EdeA$Yyc``QGNo{A5rypnXu<2M7#iJYFww14BR~7z&1gCNLZ{gAw38FcORc?}O1` z4EO+y1>=AXkmN{m6!|_mnjAxZK#nEHkv5Vf5jmcmKu#nlk(0?OFNhJQny`3x+TOYm0gr#V*A!m zvs}EWoi4ttgy@*QO6s}LtwI$uc5FugJ^_pE0bKw-1q;DvjN{;Q@*{EvIg|XDOe1Ht zfhAyR`+zM6t>kQSLHnRBBtPqzSm~pN)(okuuQS*uR#8)ZJtY;IC?J$k8SVmVxNuxx zhoK|jn0<`bl5<+Xaq`p7F+K%O(-X#{AtouV)2;L1;y>D#$VHvnSHX2ga0}Q%&TRo- zk)L-?$Xno!U9gAzqy^k17k3ICfQNR$*W{8Gu$!DuPX#MmOsy3yfs^i2dEyG{gxH^2 zE%v2;5KrsL2!f&XFlRC{p&Tk;B#feayo2yuj4Iab$b?_p5Kx zG}YHoD?R4>mkp|Uzi~vfJrIBQ8}@=Jw0W3J?red*$z9YcpO}<1sI#|e$=xk5o!mo) z73J164Cz1^U@pUTIn09DFo)br?j!dvhk3L^1>^zRiHDTfx3194h-rZ(aP9E|=jN+P}4M z9b6ALl-D)(88MhPS8U8FZEhG`KfJkS@KEwLd52_Bg|Sw)!{%nVh2l#*m|Gc%^luTR zmSD{7a0g|OD409xHiIO>waVO3KT_K`q`8SMx%Exef?%pKNFp{hj%eyruWhWWzYO=% zhWEh@@Bmy#@nmA#*W_&n|6zEfIL}1;unZn%B(_%-c+5V~$H{L<9$m>hSBC_peYJ|~ zOk{W(UZCqOJOj_dbMQR*nEaOfj{LqAUWAu`23{e5Ab+N-;V)#EC8xe`v)#*5V?)3G z&1N3`XIW1Byv?Qkqn5}#6djZ57QAmKy$$ccyYL?Qg#3|wNN*>^!4qw1O=+6u*>DvNdlE0E+j^4ed7eM$1{zd*q z{y~QRZI#JjG8wMR7=svtNg3(CjM;<9B43cdQ|J99MI0u#n~cZglP}3X$)LY`Lw6=X z-F%;6|JT9i&J=cAMVKB;FWMWXC;6s@=}rDc4GWM&`O&U0rA!(576H)dOCU3(o4rtG z82JtX2DLB1M<2DK)YL4n2F3JW>1C_vlraJ zOkwt>YCN<25#W*x1Xu_Nt})e24J}S%YMDA(r595VKWAoAr#$m*v>F0@1h6hC#>`@7 z+f$5@iGVW#xIM*4NqdBu1$34%3z}8DHUgagNi;`Zb>!av&md-%J%bRv6`)h7 z;y-i9kuBX^XZE9=*E1^N21X?UJbU-}B*Wp?AbMUiQ|SJZy!Oe@9LgL<-IYZ2U^da2 zbXOAY$T?;+a|EUK3F*Onk8W1`1XC`7dhT2VKS6K>g2xd&vAI4FfF8aGez18!&>P_T zPkJ$LkPPx`L~q(O5k8(t3H5QxzDde1`NzC#SD@B~gm(cwbbx}}LABA*N@Ze9H_&(O zAZch<&{GE}oZ1-T>s?=;K>zQC`NbiZ+esz0wY5pnajI?#e>fB(?F!VBP)-+z-Z(@` zn%mnqDLy(TF)6O5n@c@_LnWpiT^ZH|-2-!oV(n<}q_{e|Lierf7KI*8b`@%USeFj< z5IA6of5ZCr=~GizQ`6Pu9>R8*EW9hs%K=MncVu*US4aFDqTcNxsELn{q1TOWe1Q%H zbvyRQZrCt~D9s*TkGi;+8hW4JWgL4%+T~R5h_0@v9GDE6&QF|BUzZr&4U*Un+0YG= z;(%n)W_%>^aeY1Zt-H**$`9i?|XR`HJVV7jff~4{V@*iiv>q((a{7rb<=OrtJvqN8m65 zrw}-Yz$FB3AaDnP2M9bu;Clp~AV53xI|6?q@E3vrK>|T%1O*7XA}FHwRGo_#E6?5~ z>W-?mbFQ*Xj&9DPj>b+9{u3LP#nC*cT98kHL=Ck#PS6EZ>5$H)4#X9A0o6L1=T{4g zXix?+NEbPL zWJBNPt|PYCp|Y-{>%CICc73@+x`FO`dY6u@ax`zM78KiuA(%c&Ha6un3~&Db{A(Sm zTO7lzqI#t`Q+<28cIo#fhsL(e(|T8d$gQkh^zMSSjkTS%gS8WZ9SG1rcOkI5m9?9- zhY`fuhrk{L_L4~m?4y3p9E-iKEj%|+P5G!jY$sS}?R%5|-K?_CvCh-TiwGP*;Gi9O zhztwR*te^b)(`sk?dsnf1=e-eZM#EXv2L(#vTh-81c9Rn97EuEE9(yHuEU`d2%My8 zp~E98RwGt^&wBQs9r=m%GmZNNfzt?_vAc7YK7stI35a~jvLE69z4vcf?-)TCK;S$A z^p+ceib0BA#fRiD+pXg;94uj#dr??t|R(j)DbYsT`P+8#C-qD z66S|VX-o9(<0b;P?6BLEMH^xZ#T5SuiNvC4NHhX>5x8fE+;0!?>%KjI-XBpuCOS4z zE{#rzPZ(<%laN3k4U`>+O)LRR{!i8vtT)Z7Mu1+iAF}MU-%x*P!y_}W?El2%V7W9V zAA!dRd~1h%M-}UWY{gg^4f*#lm3M^chmJ6{JO3)sbY*Ys-}3;g#rplH&Hh*eZF3+3 zKO*qdZu6O=_kGTIk2PBC*EiIkI$`86>^-{=P1ta(85@DX&j>t6fSv}wwqhf(QI4Vd z4S^SSiuSop?MxR(PQX62TmH8hh)u<&IbeSv@X`T$n=Xl*jm`g0XFtIf(9SMI;1vR| z?T|NAW=2TlQf$S4LfWvEG~^2e=zZ`z8Uh*A=NX}q>#;5N{%pWDVw>^cp( zfgl$_o*lxc@XTP_J?tAhEo*Tf+!y!5rML|D z#{=*{JO~fQL-0^M3_+SrjbJ*0SqSDMScG6Hf>j9iL9jo9gAr^(aAdco8*kq)At3%4)_bZcdlg7SC~r<^PCZ8oAxr3mpoP9qb>OoVv-) z4!N>JF39a_z1$&;WK<&wO>LRLlh~nG3%Fp9<5e;yN5~*l&hUec? z3LlI&(q~M32!cIZ@SzCyqGsj=N}B0o4?Y6X*Fn51_$d1Rfxd-cWa6XoG5816xjY}d zH-ae$rqT|mUFlV8PyRxR%Wpp+;Utcz0r`Hc<@k7f0@Xi1RXqux(rM#E1T}x3tMTb} zGan(C*4@l3d^Y|8DM3(&pw?j}o*rv&^?ZCmC()+}W^@oOvJ-udpuRg%3%<-jWI!;p zgJ>O1v=aZKlV~-9*&Re{?L_MkeWTT_o$CsI)xl*! zu*B|E=M?1@whziDueZJJ80ecgy=mz1^bUe$9qjk*><W(sJR6HA3lOU6Et-2x!L*L5ggE+&x7!E@C`z6puMM2 zxoOlMn#h-sb`r@D9MVA)XeSCnu(3N)7!mFu8ipX9O7`rqrze}rEp|~y5z(DwF$fOt zAd9n;#Ut3R*$Z?R3 zL2$I4EZSTWQb?F+5`vzFV_OKi9^1NAU!v4eF2+&o&2_mIL>+x?OH>k7L^WY0YKU5b zF5D!7h<=KS-~N>QAu+P5v8k@UslG11b^!fsXE=S*gdeuo5#oJfG<}z-GZ*EKXto~|@*Rq%`sP+* z3?;Dyu*cG8PhuQ`)2K{KZ`%Z7Vz=uvVhS zhTyywf-Xe!DYw!<<1*q)hU+R~Inhe2AlitP#46$of-W};5TvWuLIi33MF`URixFJ1 zidaM6=?4+(i4DX?ViO|}!KL(-KD}_ZAh-;{gjf?E;XiQv9}t`CW? z2)Z~dCvFfoiCYMMiQpOp*DfdS5O;}t2-5X%J%StT;R~iVmitm|<&%THBYylh$W!8( z-G@yG(z~xMRAGg8&@n1y2+i9 zXwEa)Km9$HY!TasezHW|V0*AViCb)MHofl90ia9w0XhZ<9z^g^8*vAI#+I^W^o>6~ zWb4Rl2p&f8D1Fm^jk-|1%oa}Dk6_D7@=THTd-?WroMhwe>j)lkI1|Z^a@eh3#*Snp z(hp{e8tZD_m)0~(lX}J_NeglXKeSIpwu;fv!r+pS40U`?U^J|P4eTU#Pj)YMGCPIc zo4J>KfZ$04Pa}8+!E^LBjb0q+Ym#hwKs#?f*g8i7pQ6`=_Dh1We@^c`zHS$R_q(d+ zI@Hhp&s9a|#*1yVYf!UlaymB^>=Fm+B6VL?-KDw0(R`UM9u<^ZA9tITT~lmou4%3( z0fS(8GW;14j5tP5Mk?zG>pAN!{SJc*{pNxXebAH9?=FO55txF0Q(+)B3Y$WoD5hgG z=ob@aV-z+IYsK2IRoH6!)r58QK7SLo1v`v=OK(R@@b~E#3O3-U@XPo$`lW%J^eY3; z=ym5E(SzXH2rq)Jz=Vp3BNB)tq8I&cKq{djw1kCzC7^;XYgW3X)zPJ^KV7y4(Ju&$ zre6eTBd!tO(-R|zoygX+i`j$NgV~Mj57;&~VozjGW`D?D#9qN(&0fP^$KJr+%Ra#GF7*7$<_G;KXoZIq{rCj)s%PDdku>4ICS1 zGKbL4X0a9cbx7yJ#c#H^vLO3XO6SdImfxyd5ZI5=Os4hRnBXj z*E?@?-t7Fy`6;&tm&@gG1zZ(Z%{6h0xh33EZaKG-Tg|QE_TkoZM{!4UKj4nzlHBp! ziQLKD54qF0A8}W5w{cH#?{c5=SUgW&950Jk!yCXG$Q#Uik2irgjW>(;DQ_Wf5pM;r zjkk)ok++Grg}0Ztk9UA)JIlMq`-*pycbj*Y_bu;x-V@$a-cP*ee1fm!r|}EpEtD3~mmDwr;qAy_E*Ot8o%SS^$R}a@D*Fx9HuDe{nc75*p%JsGDUv8LNlv}i$ z$}P?A6uuVzC447x7I8&9kw6q8iWMb@l0?a(-XgUqS5zP} zii$-gqEb;`QG;lpXozU2s7YiKjTcQ6O%Y8MO&2W_tru+)Z4qr3?G)`69TA-tofVxI zT@+mw-4{I)*}fHhFM1~WS@etOH!&_2h<(KV;y`h*I6|xtM~S1wsp3p=vA9fJA+8el z5!Z|Ri5tWph^LBYif4)Eh(8g3D*jCTxp=?$jz_$Q*2C;!@hJ1C@Tl^zdenNtcT45c}(z_gJXnI5w|mV4~+IOXxc=JBH^^bGP$^3-`2dKP(_Jxe{y zJu5vYdCu{i=lO}}LeE8>i#?ZnZt&dhxzlsE=U&evp2s{-c%Je+?G@`4 z@0IA4?p5Sv_Of`Dc~y8-d0D+`y@q)W_Zs0f((8S%F zVo8alR8lUflzc2%AXy@5kt~<2kgSw!k?fZol^mCxl$@5Fm0Xj&ki7Eo^a=I}^$GWp z`y~1F@=5VY^~v_J_|*9f@fqsV(x5*dzuJ+yTyWjV; z?^)mTz88IO`rh|_k$zMCru)tC``B-`-$K7devAE<`YrQo^*iKuPYR{p(m-jDG(;LJO^_x@lcl|- zYN@SAS|hEK_LVkB2TBJ^-;<7!j+NS^NIFwWN#{vFkuH)hmM)bplYS}PB0VTQCOsiN zB|R^_D7`GbD!nKDPWnRnyYvs~pE69wmO06IGJ(uh7A%XB#meGkNwQwDOj)ihUsfnH z%Pg{TS*5I>Y^ZFkY`kouY_e>+Y^F^%TSm!N$kxgB%dW_t`Lq3<{dxW_{_g$?|9Jlt ze}n%Z|55&<{m1%~{uBHc_asrA2YylGkZ0iEH z2iytxI*(1$lZ_!p;)L}s4!F<>J^$AniHBAS`caq9Thq$bV}&d(2qhlhVBbJ z5PB%|Xy^~2e}w)S`a1M&SU{LEEG8^AEFr8StRZY**x<0CVe`V4g|&vYg?$lrF6>s= zov?dhUx(x2?%|?v4_ml*xH>#HJU_fJyeRzr@X6sHhEEHh5xyyWfB3=h!{NumpM<{* ze--{F{9Qy~M0A8IA}%5^qB3GY#Gr^F5yK+pM=Xz65wS92b;S9I+Yxso?ngY76LO(k zEccX4pkRO#FlOLC#lwXrymwzR{DgRdfo&0eQDBQ25T zkyVlXA_qhcjvN{}JaR1?Ueu3K&!c{e`XkErChDCMDtjndN}e)6DOX0(kLY5R z>B@YiQCY0CD9e=_mAjP3m1mUam6w#)l{b}ll=qa6l~1E#G%s2loe}-(o{Fb(QMsu^Do>R}<)`vj1*t++5voX4v?^AWpz5hg zQK?m0Rffu-%2DO3#;K5MqH2n2nren>mWoo%SAD8lq*|g{rdpv|rTS8}PPI|BMYUbE zOSM;ZKy^rUUUgA*S#>Q|6|0U-i?!)u^|2>nuf|@Fy%BpmE;6oHTuNMOTw2_`xMgvz zacyy5#53Z#@%(s~c=!0K_<`|*;~V3f;&;X$i$4*6D*kMOFu^||Fd;Z0EMZW>`w3$b z#wL&n=M!!x+)cQj@G#MkXil^wmL*muZcN;lcp&jm;?bmxBvVpxQb|%-&wV{l+j^eu zdA{eRWRK*a)=AC*MuJpZqW-I7O8bmy(duGi6T7l9ZN| zP#e|7YKyu|ZL3sQtNW{))#KFD)pOOKs28d~S1(n6p6XS6`E>It!AKRh-R2(xaK|0C=Jp~(@>hFnlChKH0w2+ zG+Q_ex<#oy`#OawSBF9qWw+#myV-z(}{GRI*HCt7pjZUMe39~l`c-#TbHdX(v|4S zbd@@*u0c0Q*Qgt&Yu3G|v*|w6&DJf}t<F$C8`1}*H>NkGk4PVvj?yQlPfnkjK0SSI`scRv)#;nlx25k)-;=&S{Y3id z^mFMK(l4i9O~0G|UHUKS?=pxCrwm?(ONM)fPlhxjAR{OvG$TAim64K>nNgfkl~I#X zm(ed{K*sQl_cGqk7?UwBgUt9W<50$hjF)<#=jg?HsXjm-tPj)6^>O+{eJ_2AUae2l zXX}gf6?$8PzDYkqKT1DFKTbbIKTSVF|FM3Key;v={Yw1?{a*bs{Ym{9{dxT*{Vn}n z{R90&{bT)i`sez$nRq5Albb2Xbjy@v`epiO24;q2hGoWNCTFH+8Z*l?t1@dc>oWUg z4$T~%`CjIz%rTi`GZ$p;&pey?BJ-_*V{kXf49PY_sv*sgZpbub8}bZ=h9X0Wq0CTe zup0Up#u<=dqG5_*nqh`vmVq+NH+*VXWLRQYW>{fZY1m@eX4qlaZFrqUWO1^bv-ny0 zSru7TS=OvRSOzrxZ>r zw0%@KuW&)(XN8{^t}EP7xVdm!;m*Q0MwZdlC^UK)y^X#`sWHqbH%1wwjcG=mQE$vL z<{D=iKQ*=)zc8*bt~YKnZZYmP9xxs@9yMMwer3F6ylZ@5@;6185>35Ky-gaE&Xi%w zHyKUErV>+s(*V<8(@@iJ(-zZS(Ph*-JjHL(#yZ=Aw~Bql-Q$no;y|(VU`rMGK0)Dtb`#tmt{sZ$*C;y()TB z%qk{|or<}|zQxkwfa2idu;PKm&BdsAV)2yXX~i>&KQ3NS{8{nh;-$qKi#HclFKDmOTM?T zEh3B9;$iW!gjm8Y3X9UBvc%aedP{-DWHDPxE#;OvOM|7^f-K`L6D*S~b1d^L3oM^m z7F(8D)>(F0j$6L6+_K!YJg|IY`PTA-<*DW8Qc&8X6e}f4ol1G7E~W0JqEe4i|58P1 zMrmbfQ|Xk_C8aw`&zAAZgk_Sl;4)QN&$5&&y3)A1*&u zezN>b`Q`F!PgkJsz0h()y~y!)zWH3wX#}O9bcVPom`z- zol~7(U07XIT~b|IU0z*TJ-&Kn^~LJf)*e=8tI+CUm03fr3ai?hX3e(dSqrR2Yq@oh zb%=GCwb?q-I@&tcN?IpaCt2rM=UV4mKegVres6tZeQN#Ln){daT@9$|QIl6wUQ=09 zT~k~0Ma{OF9W}dZ_SSmUhSY}DM$|^uPODv1+fuvIaoGr=<2Sq3@w?+^?HB(C0&qU> diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index c2880ef..c8415da 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -55,6 +55,14 @@ class ViewController: UIViewController { return button }() + lazy var statusBarButton: UIButton = { [unowned self] in + let button = UIButton() + button.addTarget(self, action: "statusBarButtonDidPress:", forControlEvents: .TouchUpInside) + button.setTitle("Status bar", forState: .Normal) + + return button + }() + lazy var containerView: UIView = { let view = UIView() view.backgroundColor = UIColor.grayColor() @@ -68,9 +76,10 @@ class ViewController: UIViewController { view.backgroundColor = UIColor.whiteColor() view.addSubview(scrollView) - for subview in [icon, titleLabel, presentButton, showButton, presentPermanentButton, notificationButton] { scrollView.addSubview(subview) } + for subview in [icon, titleLabel, presentButton, showButton, + presentPermanentButton, notificationButton, statusBarButton] { scrollView.addSubview(subview) } - for button in [presentButton, showButton, presentPermanentButton, notificationButton] { + for button in [presentButton, showButton, presentPermanentButton, notificationButton, statusBarButton] { button.setTitleColor(UIColor.grayColor(), forState: .Normal) button.layer.borderColor = UIColor.grayColor().CGColor button.layer.borderWidth = 1.5 @@ -125,6 +134,10 @@ class ViewController: UIViewController { Shout(announcement, to: self) } + func statusBarButtonDidPress(button: UIButton) { + + } + // MARK - Configuration func setupFrames() { @@ -136,6 +149,7 @@ class ViewController: UIViewController { showButton.frame = CGRect(x: 50, y: presentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) presentPermanentButton.frame = CGRect(x: 50, y: showButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) notificationButton.frame = CGRect(x: 50, y: presentPermanentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) + statusBarButton.frame = CGRect(x: 50, y: notificationButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) } } From 97ddd780730376893c2ff70c72c93ff64b1261f0 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 13:01:08 +0100 Subject: [PATCH 02/22] Adds the new file with some initializer for the message --- .../UserInterfaceState.xcuserstate | Bin 30242 -> 31334 bytes Source/Configuration/ColorList.swift | 5 +++++ Source/Message.swift | 15 +++++++++++++ Source/WhistleFactory.swift | 21 ++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 Source/WhistleFactory.swift diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 9ffcb1cf5e0468b03f49838aa5a13f2e7805fcfd..873183445e88b8b71311cc1d7ee8313489f446b7 100644 GIT binary patch delta 15711 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 delta 14791 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 diff --git a/Source/Configuration/ColorList.swift b/Source/Configuration/ColorList.swift index 87f52bf..85d3876 100644 --- a/Source/Configuration/ColorList.swift +++ b/Source/Configuration/ColorList.swift @@ -9,4 +9,9 @@ public struct ColorList { public static var title = UIColor.blackColor() public static var subtitle = UIColor.blackColor() } + + public struct Whistle { + public static var background = UIColor.whiteColor() + public static var title = UIColor.blackColor() + } } diff --git a/Source/Message.swift b/Source/Message.swift index a6cbd36..392bab4 100644 --- a/Source/Message.swift +++ b/Source/Message.swift @@ -29,3 +29,18 @@ public struct Announcement { self.action = action } } + +public struct Murmur { + + public var title: String + public var duration: NSTimeInterval + public var backgroundColor: UIColor + public var titleColor: UIColor + + public init(title: String, duration: NSTimeInterval = 1.5, backgroundColor: UIColor = ColorList.Whistle.background, titleColor: UIColor = ColorList.Whistle.title) { + self.title = title + self.duration = duration + self.backgroundColor = backgroundColor + self.titleColor = titleColor + } +} diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift new file mode 100644 index 0000000..94c733e --- /dev/null +++ b/Source/WhistleFactory.swift @@ -0,0 +1,21 @@ +import UIKit + +Whistle() + +public class Whistle: UIView { + + public lazy var titleLabel: UILabel = { + let label = UILabel() + return label + }() + + public override init(frame: CGRect) { + super.init(frame: frame) + + addSubview(titleLabel) + } + + public func configureWhistle() { + + } +} From 9832bfe16adc00ca30816578becececc1fd2871a Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 13:21:48 +0100 Subject: [PATCH 03/22] Adds some of the core methods --- .../UserInterfaceState.xcuserstate | Bin 31334 -> 31414 bytes Source/Configuration/FontList.swift | 5 ++ Source/Message.swift | 4 +- Source/WhistleFactory.swift | 43 ++++++++++++++++-- 4 files changed, 48 insertions(+), 4 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 873183445e88b8b71311cc1d7ee8313489f446b7..ee996aaf7cda3ca4d063e72dba87501f761a3e44 100644 GIT binary patch delta 14377 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 delta 14233 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 LKU@B+8~gtNIzgNq diff --git a/Source/Configuration/FontList.swift b/Source/Configuration/FontList.swift index ba943d8..15ea943 100644 --- a/Source/Configuration/FontList.swift +++ b/Source/Configuration/FontList.swift @@ -7,4 +7,9 @@ public struct FontList { public static let title = UIFont.boldSystemFontOfSize(15) public static let subtitle = UIFont.systemFontOfSize(13) } + + public struct Whistle { + + public static let title = UIFont.systemFontOfSize(12) + } } diff --git a/Source/Message.swift b/Source/Message.swift index 392bab4..f281fea 100644 --- a/Source/Message.swift +++ b/Source/Message.swift @@ -36,11 +36,13 @@ public struct Murmur { public var duration: NSTimeInterval public var backgroundColor: UIColor public var titleColor: UIColor + public var font: UIFont - public init(title: String, duration: NSTimeInterval = 1.5, backgroundColor: UIColor = ColorList.Whistle.background, titleColor: UIColor = ColorList.Whistle.title) { + public init(title: String, duration: NSTimeInterval = 1.5, backgroundColor: UIColor = ColorList.Whistle.background, titleColor: UIColor = ColorList.Whistle.title, font: UIFont = FontList.Whistle.title) { self.title = title self.duration = duration self.backgroundColor = backgroundColor self.titleColor = titleColor + self.font = font } } diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 94c733e..4e9e1f1 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -1,21 +1,58 @@ import UIKit -Whistle() +let whitleFactory = WhistleFactory() -public class Whistle: UIView { +public func Whistle(murmur: Murmur) { + whistleFactory.configureWhistle(murmur) +} + +public class WhistleFactory: UIView { public lazy var titleLabel: UILabel = { let label = UILabel() return label }() + public var duration: NSTimeInterval = 2 + + // MARK: - Initializers + public override init(frame: CGRect) { super.init(frame: frame) addSubview(titleLabel) } - public func configureWhistle() { + public required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - Configuration + + public func configureWhistle(murmur: Murmur) { + titleLabel.text = murmur.title + titleLabel.font = murmur.font + titleLabel.textColor = murmur.titleColor + backgroundColor = murmur.backgroundColor + + setupFrames() + } + + // MARK: - Setup + + public func setupFrames() { + titleLabel.sizeToFit() + + + } + + // MARK: - Movement methods + + public func present() { + + } + + public func hide() { } } From 57139f08a19e9a839315fca5c31cc41a7b5bbde7 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 13:26:59 +0100 Subject: [PATCH 04/22] Adds the main first configurationm --- .../UserInterfaceState.xcuserstate | Bin 31414 -> 31235 bytes Source/WhistleFactory.swift | 16 +++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index ee996aaf7cda3ca4d063e72dba87501f761a3e44..216b234f33bfe707bf4edd12d60249ed10230287 100644 GIT binary patch delta 15028 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 delta 15365 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%0DaU?>g9S$ljvES2 z6$%Pn3jGQL3quOS3L^`n3fmSY6{Zxb3X2L$3d;&B3#$v~7A`B?T)3@pXW^d0{e=e$ zPZgdmyioXe;e*0Qg-;7#6uvHsE=nlU7G)LX78Mi~7nK&(6x9{g7yVk)uV_FKEE-%i zwCG^bsiJE|H;Zl;-7R`h^r+}{(YvCLMTXDC*2T8PcEygxPQ|6gHN{?B_~Qwmz*oPSaP}KYRTJDQ0iDJE{!f#mll>*mUb@v z%~0B-w14Tu(wU{}O1GEpD&1SUzw}b+2OXg!b(GFRC(^m-+;v_$u}-Rs(Ix5>I+ZR> zm#)j#mFQ}9zv;T^y6bxC2I_|BhUrG?#^}cBX6csbHtG)Pj_OY6PV3I;F6u7puIX;- zUg%!y-s;}#KIy)cA!S$@QAU;7l^NX2qRTSMs>^zpjV)VLw!Q32IbLp6E-V+92bPDF zhm}W`w<>Q_o>;CZSC;=?&XzALUthkfd~f-I^26oF%1@S`F27!Wr~H2Tqw=TaZ_3}7 ze=7e{!K(?9awRo+%wxG7CwxqVKc17*h+U>PFYxn3a^dh~p-c|3RZ?EsE z@2&5n@25YhzpB5kzp1}nmspokmsOWjmtQx%Zc*Kmx@C1M>vq>2s5@pnFm~hd05F{# O)Bl=&Hve09;{OAShyM%! diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 4e9e1f1..08d1439 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -1,15 +1,17 @@ import UIKit -let whitleFactory = WhistleFactory() +let whistleFactory = WhistleFactory() public func Whistle(murmur: Murmur) { - whistleFactory.configureWhistle(murmur) + whistleFactory.whistler(murmur) } public class WhistleFactory: UIView { public lazy var titleLabel: UILabel = { let label = UILabel() + label.textAlignment = .Center + return label }() @@ -29,27 +31,31 @@ public class WhistleFactory: UIView { // MARK: - Configuration - public func configureWhistle(murmur: Murmur) { + public func whistler(murmur: Murmur) { titleLabel.text = murmur.title titleLabel.font = murmur.font titleLabel.textColor = murmur.titleColor backgroundColor = murmur.backgroundColor setupFrames() + present() } // MARK: - Setup public func setupFrames() { - titleLabel.sizeToFit() + let barFrame = UIApplication.sharedApplication().statusBarFrame + titleLabel.sizeToFit() + frame = CGRect(x: 0, y: 0, width: barFrame.width, height: barFrame.height) + titleLabel.frame = bounds } // MARK: - Movement methods public func present() { - + addSubview(titleLabel) } public func hide() { From 4566a3bc073979eb502b40c8ccf04ac6fa2af821 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 13:43:42 +0100 Subject: [PATCH 05/22] Adds the first main configuration for the Whsitle --- .../UserInterfaceState.xcuserstate | Bin 31235 -> 31425 bytes .../WhisperDemo/ViewController.swift | 2 ++ Source/WhistleFactory.swift | 33 +++++++++++++++--- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 216b234f33bfe707bf4edd12d60249ed10230287..98c2dc9b367512d4d804c366a31b00e4c8c512ea 100644 GIT binary patch delta 16278 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 I|Lb=Bf8duuX#fBK delta 15781 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 BcA5YH diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index c8415da..f989e2b 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -135,7 +135,9 @@ class ViewController: UIViewController { } func statusBarButtonDidPress(button: UIButton) { + let murmur = Murmur(title: "This is a small whistle") + Whistle(murmur, to: self) } // MARK - Configuration diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 08d1439..cb79855 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -2,8 +2,8 @@ import UIKit let whistleFactory = WhistleFactory() -public func Whistle(murmur: Murmur) { - whistleFactory.whistler(murmur) +public func Whistle(murmur: Murmur, to: UIViewController) { + whistleFactory.whistler(murmur, controller: to) } public class WhistleFactory: UIView { @@ -15,7 +15,18 @@ public class WhistleFactory: UIView { return label }() + public lazy var blurView: UIVisualEffectView = { + let view = UIVisualEffectView() + return view + }() + + public lazy var statusBarSnapshot: UIImageView = { + let view = UIImageView() + return view + }() + public var duration: NSTimeInterval = 2 + public var viewController: UIViewController? // MARK: - Initializers @@ -31,11 +42,12 @@ public class WhistleFactory: UIView { // MARK: - Configuration - public func whistler(murmur: Murmur) { + public func whistler(murmur: Murmur, controller: UIViewController) { titleLabel.text = murmur.title titleLabel.font = murmur.font titleLabel.textColor = murmur.titleColor backgroundColor = murmur.backgroundColor + viewController = controller setupFrames() present() @@ -48,14 +60,25 @@ public class WhistleFactory: UIView { titleLabel.sizeToFit() - frame = CGRect(x: 0, y: 0, width: barFrame.width, height: barFrame.height) + var yValue: CGFloat = 0 + if let _ = viewController?.navigationController { yValue = -barFrame.height } + + frame = CGRect(x: 0, y: yValue, width: barFrame.width, height: barFrame.height) titleLabel.frame = bounds } // MARK: - Movement methods public func present() { - addSubview(titleLabel) + guard let controller = viewController else { return } + + if let navigationController = controller.navigationController { + navigationController.navigationBar.addSubview(self) + } else { + controller.view.addSubview(self) + } + + window?.windowLevel = UIWindowLevelStatusBar + 1 } public func hide() { From 642b50188923365bace8f53d8560c18ffcf95433 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 13:47:24 +0100 Subject: [PATCH 06/22] Adds some security when no navigation bar --- .../UserInterfaceState.xcuserstate | Bin 31425 -> 31422 bytes Source/WhistleFactory.swift | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 98c2dc9b367512d4d804c366a31b00e4c8c512ea..2cb13354c020f595aa6d6203e0a21b60f3b9f917 100644 GIT binary patch delta 3522 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 delta 3523 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 DG@d^f diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index cb79855..6a911b9 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -61,7 +61,8 @@ public class WhistleFactory: UIView { titleLabel.sizeToFit() var yValue: CGFloat = 0 - if let _ = viewController?.navigationController { yValue = -barFrame.height } + if let navigationController = viewController?.navigationController + where !navigationController.navigationBarHidden { yValue = -barFrame.height } frame = CGRect(x: 0, y: yValue, width: barFrame.width, height: barFrame.height) titleLabel.frame = bounds @@ -72,8 +73,9 @@ public class WhistleFactory: UIView { public func present() { guard let controller = viewController else { return } - if let navigationController = controller.navigationController { - navigationController.navigationBar.addSubview(self) + if let navigationController = controller.navigationController + where !navigationController.navigationBarHidden { + navigationController.navigationBar.addSubview(self) } else { controller.view.addSubview(self) } From e64d02c7afef88a4b75c4c2752e9c2553509f76c Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Wed, 2 Dec 2015 16:17:32 +0100 Subject: [PATCH 07/22] Doing some more work --- .../UserInterfaceState.xcuserstate | Bin 31422 -> 31508 bytes .../WhisperDemo/ViewController.swift | 7 +++++-- Source/WhistleFactory.swift | 16 +++++++++------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 2cb13354c020f595aa6d6203e0a21b60f3b9f917..fc965e9eca1d2f998957edb0e2f551d7b7b4f2d1 100644 GIT binary patch delta 16020 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 M%<{YaXZ^kZ56kzKWB>pF delta 15772 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 diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index f989e2b..c3dff04 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -129,13 +129,16 @@ class ViewController: UIViewController { } func presentNotificationDidPress(button: UIButton) { - let announcement = Announcement(title: "Ramon Gilabert", subtitle: "Vadym Markov just commented your post", image: UIImage(named: "avatar")) + let announcement = Announcement(title: "Ramon Gilabert", + + subtitle: "Vadym Markov just commented your post", image: UIImage(named: "avatar")) Shout(announcement, to: self) } func statusBarButtonDidPress(button: UIButton) { - let murmur = Murmur(title: "This is a small whistle") + let murmur = Murmur(title: "This is a small whistle", + backgroundColor: UIColor(red: 0.975, green: 0.975, blue: 0.975, alpha: 1)) Whistle(murmur, to: self) } diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 6a911b9..187801f 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -15,11 +15,6 @@ public class WhistleFactory: UIView { return label }() - public lazy var blurView: UIVisualEffectView = { - let view = UIVisualEffectView() - return view - }() - public lazy var statusBarSnapshot: UIImageView = { let view = UIImageView() return view @@ -33,7 +28,7 @@ public class WhistleFactory: UIView { public override init(frame: CGRect) { super.init(frame: frame) - addSubview(titleLabel) + [titleLabel, statusBarSnapshot].forEach { addSubview($0) } } public required init?(coder aDecoder: NSCoder) { @@ -81,9 +76,16 @@ public class WhistleFactory: UIView { } window?.windowLevel = UIWindowLevelStatusBar + 1 + + let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC))) + dispatch_after(delayTime, dispatch_get_main_queue()) { + self.hide() + } } public func hide() { - + removeFromSuperview() + + window?.windowLevel = UIWindowLevelStatusBar } } From 2b40ba3bbb005d4ef56569b94ae3368f0d2cb35f Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Mon, 7 Dec 2015 15:26:31 +0100 Subject: [PATCH 08/22] Adds some more changes to actually display it --- .../UserInterfaceState.xcuserstate | Bin 31508 -> 31803 bytes Source/WhistleFactory.swift | 12 ++++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index fc965e9eca1d2f998957edb0e2f551d7b7b4f2d1..67a5ad6184b2fcde5da04d07b135b6a49a43ca54 100644 GIT binary patch literal 31803 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 literal 31508 zcmdtL2Y6IP*EoJ>?%tNV>Ah|$Np`bIHiaUon{0Zr>22BUZXl9oHlZVTL{aRb2#SRy zG*Lu~C}06>fT&c(hFHM@h$12&{O9h?CRqu*@5}pr&-Z_RQIg%6IcLtCIdkUBIp@x8 z?rLi__r%8^CIA5ml8_J-L33B_h?=lzrfzdLJZaVybHn28>umzYM(BoJ{2aTjq9@g%W~c#3$Mc!qeESWfg28;Fg> zCSo)3GO>ktg?N?NPP|6!Bz6&R5pNTp5uX!Z5ML6m7{CG!*a3Us033lI@CN}P5Cnl>5CS4VB!~jBAQ_~9TR=9*0UA&Qia`m`f(lRr zYC#=n0y;1Ww1IZe0Xjh!m0AJ_mkf=ysEco}Q~ zuYuRWJK$aL9{33C2M55X;4|kr5pIO9!0qr&_!is)_rm?~0Q?+&0l$RD;5YCb`~#kcf5Hp!FL)7Nf|p5_CCO&VtCH6wJ0x#Qc1!k2_Dc>+j!M3e9G842 zIVt%?@~h;WQm}7>KOGE^)2-sb&~p#Iz^qPexrV;{-iEYm#M#LKtr0Q8QPw9pry16 z?Lm9ezO)}5L6`<+v(Tn-Si%M zFa19K34N6Ql>UtVfj&W>q<^IUpwBaqAsGonF*L(4EW0|nt0cHiWl3B&P&Fp6OFdr}>L)ccd+x>h3o_DBKA@CG4@IJ8FqkO!LDSVXV}%`}_8s*8i{v$;9kT<&&m9>;U{a`$ofa}RJ!xTV|^+>_i2ZY8&hTg$!3y}`Z7 z?cjEDySR6`J=|XIeeNUf3+_1gHTOOD1NRg6Gk1pjl{?4%!TrTuj2xr2zx>zfpYMN=T!+!_&i>fd~o8D~hCmabU9`a;AAthXR2?9QRxK0|DqfSgz zr7F|nGL(tQaY@NJ8F6Xq6jfYya&|^$Vth(+qB=<@b=PF)RCjhyHFxO^rtD5bZ@a0Z z$J(a{}OoYmRU)7{zDhId4rG66y(WzjQ`y?mYU7!{qJZO!^_jk&7T+}hlRN8~+Rr*F=*sq&jW zTbY!Q6dN3umO3{!7=KZv#0D$lRm!<@4_c-+o=E5;d@;A24iZU(iby6>>cm;?!0f6K zKbp*V@-w=-^)vf%gVdU0ZHdKTu+Gw0B8P}rON=AN6BCGAh>1ixkwIh$XJ$O&vi}&Vz))HzwQ+b4j$R`SjLL!_fCQ5i;JYW8N06&Ib$*;#Vw~^n(N7v(_ zVTKm!n@w#xsT6Mx%S?`%)He>5X-_es}Y{ez!LjBCn-X5JaPGE{v zs%++@vZuAJwP$8Vw@I(XrcqB-t7*E3dkC*k_YWzsL6L1Tw@&V`!O$R}$u>3jPM$1? zgq2jWvsRN?kVA|^-P&d<)%Q$k#9u{<#lGCDr{H0q+#d3tM04<{w89M%zf zBBGC�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 diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 187801f..a6738d3 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -28,6 +28,7 @@ public class WhistleFactory: UIView { public override init(frame: CGRect) { super.init(frame: frame) + clipsToBounds = true [titleLabel, statusBarSnapshot].forEach { addSubview($0) } } @@ -75,6 +76,14 @@ public class WhistleFactory: UIView { controller.view.addSubview(self) } + let initialOrigin = frame.origin.y + frame.origin.y = initialOrigin - 10 + alpha = 0 + UIView.animateWithDuration(0.2, animations: { + self.frame.origin.y = initialOrigin + self.alpha = 1 + }) + window?.windowLevel = UIWindowLevelStatusBar + 1 let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC))) @@ -84,8 +93,7 @@ public class WhistleFactory: UIView { } public func hide() { + window?.windowLevel = UIWindowLevelNormal removeFromSuperview() - - window?.windowLevel = UIWindowLevelStatusBar } } From 705bc78374a1cefd8844394057c2fccdbb9cf498 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Mon, 7 Dec 2015 15:47:59 +0100 Subject: [PATCH 09/22] Adds the basic configuration for the status bar snapshot --- .../UserInterfaceState.xcuserstate | Bin 31803 -> 31904 bytes Source/WhistleFactory.swift | 22 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 67a5ad6184b2fcde5da04d07b135b6a49a43ca54..b1fcf92ff8874dfaa8e55d3252ec7e1e4246748a 100644 GIT binary patch delta 9988 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 AZvX%Q diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index a6738d3..0e1c95b 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -76,12 +76,16 @@ public class WhistleFactory: UIView { controller.view.addSubview(self) } + takeStatusBarSnapshot() + let initialOrigin = frame.origin.y frame.origin.y = initialOrigin - 10 alpha = 0 UIView.animateWithDuration(0.2, animations: { self.frame.origin.y = initialOrigin self.alpha = 1 + self.statusBarSnapshot.alpha = 1 + self.statusBarSnapshot.frame.origin.y = UIApplication.sharedApplication().statusBarFrame.height }) window?.windowLevel = UIWindowLevelStatusBar + 1 @@ -96,4 +100,22 @@ public class WhistleFactory: UIView { window?.windowLevel = UIWindowLevelNormal removeFromSuperview() } + + // MARK: - Helper methods + + public func takeStatusBarSnapshot() { + UIGraphicsBeginImageContextWithOptions(UIScreen.mainScreen().bounds.size, true, 2) + + guard let controller = viewController, context = UIGraphicsGetCurrentContext() else { return } + controller.view.layer.renderInContext(context) + + let snapshotImage = UIGraphicsGetImageFromCurrentImageContext() + + UIGraphicsEndImageContext() + + statusBarSnapshot.image = snapshotImage + statusBarSnapshot.frame = CGRect(x: 0, y: 0, + width: UIScreen.mainScreen().bounds.width, height: UIScreen.mainScreen().bounds.height) + statusBarSnapshot.alpha = 0 + } } From 365b01f53f919bdb48151b2a789af129bc594f8c Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Mon, 7 Dec 2015 16:23:41 +0100 Subject: [PATCH 10/22] Deletes the snapshot of the status bar, crazy difficult --- .../UserInterfaceState.xcuserstate | Bin 31904 -> 31962 bytes Source/WhistleFactory.swift | 33 ++---------------- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index b1fcf92ff8874dfaa8e55d3252ec7e1e4246748a..19f63b9d4e5a87b0395c85f581d92a39bae5974b 100644 GIT binary patch delta 13985 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 E0JK6wp8x;= delta 13825 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 fwe@=6n7(O!v-%ob=eh{u`spTi{p|j?Z{Gg{*q Date: Mon, 7 Dec 2015 16:35:38 +0100 Subject: [PATCH 11/22] Playing with Windows --- .../UserInterfaceState.xcuserstate | Bin 31962 -> 31973 bytes Source/WhistleFactory.swift | 36 ++++++++++++++---- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 19f63b9d4e5a87b0395c85f581d92a39bae5974b..7bc3269e636063ddc0cb74ab064cd1ba20717e68 100644 GIT binary patch delta 12845 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 z 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 diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 682b7b4..de9beb1 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -8,6 +8,11 @@ public func Whistle(murmur: Murmur, to: UIViewController) { public class WhistleFactory: UIView { + public lazy var whistleWindow: UIWindow = { + let window = UIWindow() + return window + }() + public lazy var titleLabel: UILabel = { let label = UILabel() label.textAlignment = .Center @@ -17,6 +22,7 @@ public class WhistleFactory: UIView { public var duration: NSTimeInterval = 2 public var viewController: UIViewController? + public var hideTimer = NSTimer() // MARK: - Initializers @@ -40,12 +46,17 @@ public class WhistleFactory: UIView { backgroundColor = murmur.backgroundColor viewController = controller + setupWindow() setupFrames() present() } // MARK: - Setup + public func setupWindow() { + + } + public func setupFrames() { let barFrame = UIApplication.sharedApplication().statusBarFrame @@ -62,6 +73,8 @@ public class WhistleFactory: UIView { // MARK: - Movement methods public func present() { + hideTimer.invalidate() + guard let controller = viewController else { return } if let navigationController = controller.navigationController @@ -72,7 +85,7 @@ public class WhistleFactory: UIView { } let initialOrigin = frame.origin.y - frame.origin.y = initialOrigin + frame.origin.y = initialOrigin - UIApplication.sharedApplication().statusBarFrame.height alpha = 1 UIView.animateWithDuration(0.2, animations: { self.frame.origin.y = initialOrigin @@ -81,14 +94,23 @@ public class WhistleFactory: UIView { window?.windowLevel = UIWindowLevelStatusBar + 1 - let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC))) - dispatch_after(delayTime, dispatch_get_main_queue()) { - self.hide() - } + hideTimer = NSTimer.scheduledTimerWithTimeInterval(1.5, target: self, selector: "timerDidFire", userInfo: nil, repeats: false) } public func hide() { - window?.windowLevel = UIWindowLevelNormal - removeFromSuperview() + let finalOrigin = frame.origin.y - UIApplication.sharedApplication().statusBarFrame.height + UIView.animateWithDuration(0.2, animations: { + self.frame.origin.y = finalOrigin + self.alpha = 0 + }, completion: { _ in + self.window?.windowLevel = UIWindowLevelNormal + self.removeFromSuperview() + }) + } + + // MARK: - Timer methods + + public func timerDidFire() { + hide() } } From bbbded728b7dccf588c736d37e88c1eecd874367 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Mon, 7 Dec 2015 16:48:01 +0100 Subject: [PATCH 12/22] Adds a window instead of a view, now this makes it work --- .../UserInterfaceState.xcuserstate | Bin 31973 -> 31963 bytes .../WhisperDemo/ViewController.swift | 2 +- Source/WhistleFactory.swift | 50 ++++++------------ 3 files changed, 18 insertions(+), 34 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 7bc3269e636063ddc0cb74ab064cd1ba20717e68..1bddffe284216ab012a3ab7db8e6822471911a33 100644 GIT binary patch delta 5189 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 delta 5097 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 C2secQ diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index c3dff04..90c5103 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -140,7 +140,7 @@ class ViewController: UIViewController { let murmur = Murmur(title: "This is a small whistle", backgroundColor: UIColor(red: 0.975, green: 0.975, blue: 0.975, alpha: 1)) - Whistle(murmur, to: self) + Whistle(murmur) } // MARK - Configuration diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index de9beb1..792064d 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -2,8 +2,8 @@ import UIKit let whistleFactory = WhistleFactory() -public func Whistle(murmur: Murmur, to: UIViewController) { - whistleFactory.whistler(murmur, controller: to) +public func Whistle(murmur: Murmur) { + whistleFactory.whistler(murmur) } public class WhistleFactory: UIView { @@ -29,6 +29,7 @@ public class WhistleFactory: UIView { public override init(frame: CGRect) { super.init(frame: frame) + setupWindow() clipsToBounds = true [titleLabel].forEach { addSubview($0) } } @@ -39,14 +40,13 @@ public class WhistleFactory: UIView { // MARK: - Configuration - public func whistler(murmur: Murmur, controller: UIViewController) { + public func whistler(murmur: Murmur) { titleLabel.text = murmur.title titleLabel.font = murmur.font titleLabel.textColor = murmur.titleColor backgroundColor = murmur.backgroundColor - viewController = controller + whistleWindow.backgroundColor = murmur.backgroundColor - setupWindow() setupFrames() present() } @@ -54,19 +54,17 @@ public class WhistleFactory: UIView { // MARK: - Setup public func setupWindow() { - + whistleWindow.addSubview(self) + whistleWindow.windowLevel = UIWindowLevelAlert + whistleWindow.clipsToBounds = true } public func setupFrames() { - let barFrame = UIApplication.sharedApplication().statusBarFrame - titleLabel.sizeToFit() - var yValue: CGFloat = 0 - if let navigationController = viewController?.navigationController - where !navigationController.navigationBarHidden { yValue = -barFrame.height } - - frame = CGRect(x: 0, y: yValue, width: barFrame.width, height: barFrame.height) + whistleWindow.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width, + height: UIApplication.sharedApplication().statusBarFrame.height) + frame = whistleWindow.bounds titleLabel.frame = bounds } @@ -75,36 +73,22 @@ public class WhistleFactory: UIView { public func present() { hideTimer.invalidate() - guard let controller = viewController else { return } - - if let navigationController = controller.navigationController - where !navigationController.navigationBarHidden { - navigationController.navigationBar.addSubview(self) - } else { - controller.view.addSubview(self) - } - - let initialOrigin = frame.origin.y - frame.origin.y = initialOrigin - UIApplication.sharedApplication().statusBarFrame.height - alpha = 1 + let initialOrigin = whistleWindow.frame.origin.y + whistleWindow.frame.origin.y = initialOrigin - UIApplication.sharedApplication().statusBarFrame.height + whistleWindow.makeKeyAndVisible() UIView.animateWithDuration(0.2, animations: { - self.frame.origin.y = initialOrigin - self.alpha = 1 + self.whistleWindow.frame.origin.y = initialOrigin }) - window?.windowLevel = UIWindowLevelStatusBar + 1 - hideTimer = NSTimer.scheduledTimerWithTimeInterval(1.5, target: self, selector: "timerDidFire", userInfo: nil, repeats: false) } public func hide() { let finalOrigin = frame.origin.y - UIApplication.sharedApplication().statusBarFrame.height UIView.animateWithDuration(0.2, animations: { - self.frame.origin.y = finalOrigin - self.alpha = 0 + self.whistleWindow.frame.origin.y = finalOrigin }, completion: { _ in - self.window?.windowLevel = UIWindowLevelNormal - self.removeFromSuperview() + self.window?.makeKeyAndVisible() }) } From 94496ff980243601a6520ad2e2b9f75f45f943dc Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Mon, 7 Dec 2015 16:55:19 +0100 Subject: [PATCH 13/22] Adds support to the project for landscape --- .../UserInterfaceState.xcuserstate | Bin 31963 -> 31627 bytes Demo/WhisperDemo/WhisperDemo/Info.plist | 2 ++ .../WhisperDemo/ViewController.swift | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 1bddffe284216ab012a3ab7db8e6822471911a33..66e574331cfea3f78526bf9567da4f46f245959a 100644 GIT binary patch delta 16785 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 Kw*2l=^Zx+mMMJ#+ delta 17263 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 diff --git a/Demo/WhisperDemo/WhisperDemo/Info.plist b/Demo/WhisperDemo/WhisperDemo/Info.plist index d338c77..eabb3ae 100644 --- a/Demo/WhisperDemo/WhisperDemo/Info.plist +++ b/Demo/WhisperDemo/WhisperDemo/Info.plist @@ -31,6 +31,8 @@ UISupportedInterfaceOrientations UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index 90c5103..0302e07 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -86,6 +86,8 @@ class ViewController: UIViewController { button.layer.cornerRadius = 7.5 } + scrollView.contentInset = UIEdgeInsetsMake(0, 0, 1, 0) + scrollView.contentView.frame = CGRect( guard let navigationController = navigationController else { return } navigationController.navigationBar.addSubview(containerView) @@ -129,9 +131,7 @@ class ViewController: UIViewController { } func presentNotificationDidPress(button: UIButton) { - let announcement = Announcement(title: "Ramon Gilabert", - - subtitle: "Vadym Markov just commented your post", image: UIImage(named: "avatar")) + let announcement = Announcement(title: "Ramon Gilabert", subtitle: "Vadym Markov just commented your post", image: UIImage(named: "avatar")) Shout(announcement, to: self) } From 857699e963f7dee331fe7cd07bba05788be6910f Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 13:02:02 +0100 Subject: [PATCH 14/22] Adds support for landscape now for real --- .../UserInterfaceState.xcuserstate | Bin 31627 -> 32655 bytes .../WhisperDemo/ViewController.swift | 27 ++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 66e574331cfea3f78526bf9567da4f46f245959a..564ca9f3e904692acaa608be0b9472e8d6fe4675 100644 GIT binary patch literal 32655 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%0AZQ2l51U(|n9f3*Jl z`qTAi>(4ik4OD};!Lh-)p}3)@p{2pp(B9D1(9_V{Ft>qgnAfnN;lYNL4XYd0H1s!| zY&hF+xshlj8|g;2(Xr9H(YMjRQQA1C@vg=djSn?G(zvd1edC74#~Zga?rMCg@zuuH z8{cYtr}6#9eT^SA{@D1t)=}%Djnz)n=4&go25pPhr0vn(tzD*lT>F%Ehjyp-1?>mg zpR^aXm$a9)SDKufT$W9*Dr~B0YH4b1YHOO(G^1&D z)7&PmXz~j+so$yJrGH8Ps(z3DJ^cszgZiWTQ~DqDKk3iuf7f5s|78FM(%@up zG58sx3<^WML1RcVOfsYzG7Q;&*O>J#$UDWz)>({N{wVrGJv-NTt-8QPttu4GQvMsqS zwJoD9t1YLkw5_#mN?S);cbmCwdfTkFTiR}GyS;5e+nsF>v_06ivTe2L2h;DSKTVfR zSEl4lshm5L?A49#HiDWF}I0lj3z30 zM~xaa-e*iS8smM(m}sKLsL_~s=JW;|R1gNDm1rYI5F?3E#AxCLVhr&jF_w6lm_WQiyh%(aW)SZYGl>s~kBODUDq=P9 z39*J)OROV4C3X-yiCx5J#23UKVn6XUahNzxoFXm|7m1&UUx=H;E#i0LKJkF~i})K* zfCd)88rT3w-~!x%7w`t5APj^9DUgBwU;r2h27y?R1d>4t$O73QAC!X%Pzf}k3JeAH z;5pC;T0t9l0lWlW1{1(r;B7Do%mD3RF<1dsgLPmd*aWtL&%hqA9~=b7!5MG?Tm(OW zYv4Ng8xjye2uUb{6r`aObcQa_6}mxp=mCA8FARa9Fbt}o8V-bmU@}aBIdBLpf@QEA zR>PsN5w^lM_$GV{z6~eAci_8lGMoaZ!fEh5I17FV=fU}K4O|P?!B63OxB+g2`{7sc z0Q?#rgoof^cmy7WC*W21GrR_`!yE7ycoW`&zrx$_H~2fe1Mk9n@IHJ1AHqLKG0Bn^ zq$Sylv?J|FXR~5^^c|5xI<9PHrK$lH17bgu$`WOZ@sy`J+rBZ2BI+aJ| zQw3BBrJ<^*p;SHf95sw;rdp{NsBzSI>UHXE>RoCw^*Qw=wU7FmI!GO*j!~zm)6_ZY zTj~OJk-AJ>p{`Nasaw>q)E(+B^^p35CTKuYG)-I3mb48mp&e*P+Ld;rJ!vo6m-eHB z=wLdG4yPk%1szF8(f#QGbSj-jr_&j9CY?oR(>ZiGT|rmU8hRMrKo6%I=_b0Fex4pn zkE6%a9F6Fg=$GjU^t<$AdI~+2o=eZ8+vyH^KD~fmNUx?pq1VuB=^gY=dKdi}eULsx zAEuAc-_qyl@96L8>+}u!7y2gs2mL4g7yUP5$@F4e7+1!Pac4Z3-i#;X#e^`SOc)c+ zNEsO;X9h3>nL$iClfh&%SxhNY#*{M^Og-})GmL3qhBJ*!6ElW+kr~U3W8PriWZq)l zX5MFJF^ibR%o1iPvySHZq%-&CC|&4D&5>p1H{Uz+7Q|Vy-hcm|vOO%w6Ul z^9S>%7>J>m7BgZ?aWAn%Y%6vYJBi)I?&3aTA8~*c&>Q9c!_wa z_#^Qu@mldl@h0(R@lNsQ;(g-%;;+O<#3#gO#ovg}i7$#Ti?4~Vi*Ja36WR3Hn z%hs_&*?RUlb{N~h4rd$LCbpS>uo(7NEed zv8|!uD8UjIgeB37up#Vw%@!w9XQRr9Gpfwme2rI&xgB;mGNC;az4}k+0 zuaWpACMguED0y^PoLr#}Q>qi=!lIKRRbdJ0gt);9S)^K#q|`_pQWFx3np%b#nzc3h zgr=Id;rhl_Q_D_-ClRoia3)*`SHg{OCp?JW9L3Qb!-+YTv*0Wj6JCTjCcp6KTNAxEK5Ce%pL@W_U z3?|}<1Wv-)a(0|O=fF8~PMkC6!nuA#B;lb-AySDnBAv(}{D~|gn{&eh=E1$jy@LRS zfDIRbfE@z%T%ktd6lXACPe$9=ny9O9ZE7)OXh%1-wQ3|1-1WSnO(V0kBkJq4_(=sW z5bDIW=(QS27|$D%aG4EFL2G?Oed}nxS|0Y3S_|v-BL#$A$OIH-!eE9XL2sz9Yc#`9 z&Z9}tSGU#G@seSpPiU-OZ{Wod<4CG+(C27dhn5LnGqlzE1_{BM*jY&oB?6Wb8lsBO z64gWvp(FG}Em6ny<~%ts&YSDQ`Eb6RALqXmGw(Uf%q0BNNHh`6#Pe9{12HSz@J|W% zJlDdF;aMo**<>P2=$KO%uQHo-dQBeYuTI;d<5|d87TAdAXQALL3g7eEs)ys+rNTEO zpu`?SBx>^0>haWVYSgyi z@zqEi&FktLuzRi7JzAcuZyK&|Z5b`h!T0$&IE#~U)+VApBo^{|Zw@h+m`Ah|9mITM z0Vn4oI0dKVRGgZNTudw?786T|rTAwVv7C$IqPYYv1^?u6`CMT+FJcMWR&D<1W__7J zlaX4iFXD`@z7{JF^AW)VBFH{|lG>^to@G>+t|p!Qm}l;$XNjZm0P`z~ZoOD$dRCB| zp^>=PGz|~eHa9ou!$%Eo2y1R>YSy>3jt=8jD5g%YCpPmVv4Pk~Y~o_Leq8_g#1>*J zv5gzR4de##BjJffO_P(6nwPIhOi0bo&eh~4W+cYvr)Fnq(i2NG67PRhC``>u9h{Mv zi)#s0{)r>8I43SEuM>wbB)f@-d7L#KwlQO5q24m1?o`OI?u=GOn^fmsVqZJ)B^S#L z7GS<24$R}?1T}h)I8>RHm)X|Jv)QOQ=Mx8c-6=diLL4pcdYq?kolhJgjuBA>S$X)2 zP~`-15?ARGF06S^5K+g8)5IBUkhz*`#ScWpeBwvq5^Qu% z4{tI(erSB0^^eDZAS?j@5RgDrrt5T3uvnM0)(_VkTD8NQxg2f?M`$E@wRqaaNTt#O z16F&|T|}0b-5BKA|w*G+d^k z?f@*`|HnNNAT2>JjU?#N0qo|dxf19ARy?|YxxPjc*d-z9^{wH8sxc86p2JUYq3kG- zU^dzU5wHi4_a>{g27MX++oEs4LOVjw5nKV6BM|KbobhD9JnjHaos$N*0xXaAUDKv} zYRm_&{Nyl-9`L}*6!hkb`Pu9A=s!0w%XByWZdx!RG1+J-jXwz!!; z?X)dbXWP z&V--<6cctGpb!*s&vC;#KnW=28o1$Hd<90+ts!{jRhZ9rC{tV4Sl`;F(|3)BZ|o~W z3I0D5PA$-x;nag#u8C{r;=4!AH@5XVGniqZfe4s4k1I4GX#&slJ!|F+?VyEgeOk{( z@I4y|MsaQ2sP3MP0prZ57!NpZ1UC{>fdxgF4Zg8&OU$Tv1-xbk^E!Bg8_m7ITRj^L zWpb5x=gK#>#0W|p1Mh%$!DKwGrr>Ec4NTWa>{^Rg_6>A^`GS4pUgpLL z=17pHCD^!trQjp5j2q8!9D2mK2)4we(|f4=&LZ%sQO&>fR5dRsbo0({$K9VplmQV@ z#=U}Rp2%UVjn~HjI}7b#8s?U;h5~!Rmsl<0LF+P)X6pv?(dhvDc!m3~Ru|OcSKxp~ z;`=YO&;h>YvHvSoP11h|9O;_ZN4eLzLZOoO zaq&66vG1gq3HXoT$|F^;;;NIlc;DCof;gKfxB>29?-%?6Zh~9jS8yBr27c$>Fc>wk#}l3#XQxKu^MuEP@uVHr+*IG#inXx&6Dnmi)jj2DK6W%Z z`2!hfO$020V#q=ZXbF2kD{dzDJ~xY-&3(XqxCq)n2{tbN&>lK)bGT*LzyxqBxQ}_h z@X?mUQO$U%r`H)3G_NFth({M2%$^U{*EY3u>VNEZ3Dx-^O0K>J&tH?F7Yqchkl4tZ zFTCL4owmIAOn%YPW_a{5zYgvUU|>9WCC{rk(|GW0n7Y~au{a9uC6~Fkdp-VFS0i`#}@r zO(U_COKCSU>tC5_CUQqWypUfCM`D2;4PSs`;EQl990$j9Yq8j_<38oqa~rsg+$L@_ z4r{=d;LC6V{yP!AihsY3MR*IhmD`5@Zs&I3-#ht1;A3BjEiFwgj|v!`-uO{Gj_7Hd z4SF4Z%sWtgS(kJhr!+5!Mn`DyXu)t9T{$zwz97n5*0v2R}ILK4pG@p*RVq7vH~IHyN>yYaJ$wF}@fUL!1oi{N6o1TKXi zai4L!xzD*TxINt7MIaci0Ku4zt8j!=&wYvi1#my&f1NDEleA`7eA93~KEto#jnfOe z4Y&_R&6eMy#jATP=*AEN?uc{3;N&iSVRR@OTLo8`9}%9R*^LdObK4plu}T=+&{Q+b z82U1s^1XZ1OvSDPZo3uN?!;#5*(SIP+XA>5Zh>3jHn<(`fIGQ;+*MQBBZZtnCjY&-{S^AMV z+BQ5XjL0ixqatggA{0>ytvpgKGunE1tcTE@B=)V8*uqorG&}>(!f)U?_$@pSzk}by z3-BWR0saUt!OQRpcZ@sEo#0M#r?}JH8SX6i4R?OT;4X4MaD$DF)zqk> zRO(u_T-Nn9Qduk4cYTeP$#qIu*ViZ&-bT=Ne^tws5fR;ABUKR*k=}#~r z?5nH?D%@_Qs^`<1>YiT}5w%f0pH|l>dVEzVacsS-3u={I-Q%lDt=GwAJuS~;W`9o| z{U-_WA`$)t|0W3%aF@9&+)v!q1tdxMlN3pFKjYbYgS*MgGjGGYG#f8ef>GwjyW7#| znw^4b%Er>%X_y~1wU5~1&WT4_k$BUmowVkzwUZL=`co_~=|DP~Eucsj(ya^Do%^NB z;EVS3FSQ;QcB7& zU+&?50o+6G51u=G1Q5GYUHu>2)GDyRDDK9&Yp*wXKwY~yo!Y!7piyZL9&Lo+{pX&~ zdTRY{ygrZA>Y?tsD>>Adj8gX!S6C*K(b&Z%W5|BoeeMB=_l2Zb^WZ&-m>!|37(>la z{cwHHB5xc_<&!vKT%^(2ztr!tzFlO$fvLoohBrP_tI^IM5pB+8kX670D@Tko+k(5ssb_q`r0%W)J zl#*pnmY!~Zht!Z-(+Y;HMu6^I!jO96zcN4Aq4w>WqMRy5e{$4!q&HVpg+M!ksR$aECNi@Xrg?MW-7W(T zes{*QHIhgH#Q0m0BPf)-wr0L3kA`&3>ip~BUyUT-X=DjYo_J%piq{cC+UjeDWi&Mn z6Ugr*0y}e0LxT5-^{w%E*Q=qa&cxHt$cse4N{JV_oBW*og4{#yCBG#1k^9N7$OGip zF$H^1qN%9nVnmj|ECBGrhk>8T%$?wST$qNYhA%OK@5CVM>2t^GbD0)r7qKp+W$6a>-`$UqVnY>0`CvT9ykT=O&5fsMPM8P;}MQr7WRnTix@sikAOc8c8m%e#qSM; z>G=Kbun~B|8}QagWUW@N&_!1(<+ZY&fV~93z^4K#Rr&~7gu)EaRsals3ZO1JI#REa z)kd2EIthRwPXVk^Dr(hgRfN_I&|LrwdkP@#pd4=|L`9eZdJBNkrvhrDs&N8_%nZ<9 z0F*xk5R}(yMf}<^qr+ z01kQzpe|Y)6``-KF&~ah0TBCcPn;dmDqTdhs#a$%tGNOob~T;|7^SOL%N4b{C^P01 z34n=D0mQA<)M#~D^FEdffXPn*#C=rMD3wv>q-q7g)TaPy|FQYZCy6JOvQXM;%ri3UlVX zAOPk)1rRT`tK~|)-h3R#3xEYr0n|lDDWa50t=g=Q69mAbrvT#Nkjb<=ioP^2_)2uZyx@@NuzA5T(Q)&F zQ=-%61>cCynHPK~`rf?Y2hoq_1y@8rnHO9WT{kbdDY|7|@SEs&^MZS#`{o6Ii2gJy zpa=?>7lP4ryoLvbb5PqU?1#V9PGLWMf|)}^ z`3WNS@_#V-Bi!g$@r!wBr%Y0TR487jQ$bWP)t3rE;1vWWBJe5#uPva$sBlV3VQ=(x z1l~npG6L`OOCiBiHaYX1ZnVL;vyg$4GQtgf+9U6^;q4!zQ*B-~r$s-azNyWSuWhN* zccyT}^Xa~iuWky1nwAu%^b}lO@cYfNYlIeiA~$t4l8WY6@BHpNg?;KbI#=)10302m z22z6%coTt1T?=<=FqPPI{Y)iM$q2lKz}x)7y-##T3r^7*z@Yz_~+I8C6dCQI#bIG0B?s;00writ^94$XY3k!s?1hlO3wCsliVZjp)D=cyL+>C#4xRLpLt z@S@^F^XW2Hm@Xgu2d9g)J6Fm?6-P}V0{B$IO~gi=O4y(4hf@iuiPWpy00ibBfRjCh z;d%q-@KJbl=XUPBP?L<|u_q<|neb1c@P5lmi3>HAnnq2hW>D`@GpYBfS=4Om1L{L+ z4mFpWN3~NO)O>0IwUAmwEvA-GOR0|#=s;ir0*eq>f&l)y9D$D!ScSkR2&_fmQv^03 zunB=J2y8=O2Lihg*p0v!2<$~*9|B(?@HGO5_@ULNF9T1%iS)u|_hkYt374z^YI`yt-jDUh^9G{WDE1f5Ko; zgSM@)W@w(Uk(R5k9T16q{c3ehlun_R1sH1@k0PXK4MPXWmG~5dQXU~!wr{71N6o^`?k!1gG7$L-2q&PHJTVL1KVhnFdlW?F;unByau4mW3 z5n5TMk>vc_t>8V2rk2My^S#i_3XLTH-);s+HrraC+@niEQ!6!+ok(YXFw}3`$^n* zAmCpAY$RvmIi#(749R~BXg5Cl5MoX|X$WbNfPJ$@lJN`-F`rmQ_WXnAG%GZ*RU@hS z-!$=$B;g(#LpYnb6>r1*52}o|7Fyn}kqr4)S{^>yfaP2tR^Mchc505!HlGNafR)3sQ5mjmbFjk5k!kw7v-^oW7uM!AiZct_{oL0HfO%F0g_RR%diR2+!j+ zXMo^sh7HC0?fRAhQf$c@I$31sOr*zWAb91=XG$9Im>E-u^exgHoC1v#t%e(<^*KYE z8ufYg!`pBX&RA>ieA1(GUPAgm>P3gk!VS7%(mXt3`r*=y`sx;()+sfbnvwhoD5=mv zqmkkZq$x%s`SQngIech$BK}r)!5$ z0r&oAvkRRX=$|CZ1+)h=l7fFlxtTQCV_hPn=6LfX7(Nu6&x2!xM4Kk}$^e?5MvwgtOM z`j%X5G4vHF^*ViALxU-=*#8kAQ#8dK$`~o2CWYK8<`1Q*aQaZ8a5~M@ks);96FX8w z7vqkUB5)RgZ}^U!;|h6%7l$m)EGZwOh={;xqY-$AVQk5mh^R;vf9lPIw~E&Dc(rsj zT|?td#`6e#hrss;Tv$NY(scrZE+X*5f1N>_cP>-BHE@HGK@m~Pt{$||I4ZG#Hqfnf z8;xTVmk_v&z!e03T0oDYN8=vgZO^L+;4~`)uKibs*rxXaxA{?BJt!U%A;TjR+0~U- z=r^9&l{e|Pa91WFa07u~_^#lDF+9jNy_dhg-~%H{r7C)C@fd|d-4o?B`h6bdbb1E; z9z7F*UlF*Cz;6irzJQ)Z&lbiPhoJ8M_s92v-}CpZ4;ArpFOTZt$s!uZW1cX)%jp%k z11k}@kH7=I0}lnBct2d({7VUsC_)~k!cs3BmG74Nb@ZkuBHc`H!ANn4=1&Cv;*tK{ z$>@`R+?s4eDvy#YF{f23eEhx}=WZHD?4LmBK6*dKc>qCxAfI#vNdc$*hBs1V#=(q8d`eOKVIDH#(L$zL|0>Kdh6G(Oky1U-9~zK4-M zK+p<7YaXeM5vk(^|1GJ$Wn&`cn2ko3V(o+v@%3N;Loj$7;PKMS(4Eo?ZM&t{H*WI- zzr15xm7SestQb3tfU#z57ztyGpgn>P2s$F@w1BZ^90-5L2|;HBU3j`&|C`ET^TV32 z+{fk`g&_*-|Kc%9RnKu_ycvJKD}5Lr#+ShXJa+_fnpAHDJr^(mOdw`)GJ;+RpQXSu z`(HI>o42Tn_J()~N=d0U2?-OyMDnBgI9tO+G0{Q~d=T{Q>;WFloy&;(-${*_dgy#6 zmPvf#uqH9dcvx}5lt04fMewi&^5VAnVd%RquWk}#ScWCHWQ-yz3M+_+F7mRO{3jwU zUO}Ip20EvC-CGIW+KM;8iG*>AI-rSV+4#t6jmP$6NXPE z=hd1j!fbj>Vy0r8k2Q46G?S{pSzIPVXH*r9_adO!3+em5X?a^7r}f43lYTArWC<)1S=7&La=%T^A&S|`I0HS20jDUTD%ke7^HUuq&N@ee--8K945SN^mtky z3TSbb%(I|v9jR{^@tDC969QVCL-R~5z?UBUlLcZ*K#KEgo&_mBarHQ)76MY7d-E(J zpy#hWcnqmF0#=-u^DM%OgP@PW=^)_5IXllnY3opYdh{_^T?MQ)8cF;!2y4?Y{|H&r z2yKH2vydtz_7L;AA!6)b>D$HFt-^Oj;A4TN)w?M=(3J~e+;bND;uHa~AA)r_ML--V zqzDj6;$U%KaR|Pop=a`Q4pu%{ZNu^PAspV5tw(Sug3mo8v%54HHfme4XHB)TF`gwC zOT{wbv~E|*^`msp7t6&Fe4+qQIX4E0 zW5pqSr<)LLeCAGft5{>FXRce2(rL-XiQ?pLf>IEC-b7G3PY||GE#?H}h=&LSwIXPE zW`er)vp~>aSqDu76^e_y2`WKwgo&VXo}dZ@N179)6;}%cVaIBek)UUpFFlpJK+>6b zm5HP}aeX&Q&moAf5)(vtI8PED7JTJFPZ4er8w8TZAvo4Z(z9r=9+p9%D0$gN6GfxM zFLYBh20@&iE>JX%rwIE2_%?{16um5-AW-x&f-e~$bsIEckBW8%_ko}y0> zeAk?!PsQs6il!hq`I#x|VGRX}hBg0UqG*eFTQ^195u9eCXcte>X9!L=r)ZCOuRzgz z2+lB4^ehvurzsUg>DY&dOe7r;AM7US5P~?7PY~~;JW0n8oMleZDe-B6qz@3BZ6xX6 zv%^M$-v4Gxs)?X)#ou)k^gV)eOa$Q@zS_kH zwij!~TC+B+gtcYu5L|}fas*c(h$r7l1Xm%rdNJ$3IFi#Ur9t}%Kq zY!Dla5AER#qB`%|>%7|)U!%8x?JL}>_k`!hiN%KE1V9#tTh?)d@g)!8Qtb$Qe5@rL zUy6j6eR_P1uXpO;)cDRbW!as?b$8Lk@(5O8mIleH*(hEdu&1-JosC9t6VFGRu7k&T zr!F-?IQGj9UG;4bi&xb< z+F9(l>=cfi^4B*C7Z&t9hHfHw2wO_nEn#!nJT{*#U<=tIwwT3U2UdH#5&Rs%FA&^= z;9dm3L~!2{whW&y^=B(t4O_)(3GBV@$CoSMc*Iu-9zgJG1P|ix@g+h+08UUStv4h# z)Yl1D)H(^pINhPXMxSaZs>fHp;p84XFg+ib++>{9Dij;*w*PrwCaq+g+1~(CO#r=aCDq9E=(m) zP=zVw@rhwkgOd`%l9G}Vq9c;jYFTt-p^*PjD5P$b2!A3&BTT$*VMpL>RMx<@vN&FG z7{Mb59-YsQWJj^scf(p8Yq8tBe8{kWZGMcj^T;Vq8P01P&R^6ejA)*|j=z=ybCADp z!yF{Lx$}BeekEc4D8C*jJ_&L^o;a|OyWJPhH8??5iyH zZRWGDv9GglAb0}7lL(%g&%VXJ%}zq_G=gUkJj;_F@Q=pKD8>7m_`9vJ6jMtU;#)^%(*+dQD?GFj>#|iy=?Ci(&<^%Rab`FB)5d0Rw z^EhZ1D_|mqcoz(A!?&E7266$rad#1wuRbi<8_(%B@Y0SB8u+U|6hB# z!wN=hBXM*0@beGBIjEi2eX|ypy{xS9?arNS6)u0qw~)rQ;yX91+gkMoe7ANljx5P* ztEtiJ@f}h}ZS5@Vom?MtIe3SIBPZgh4rdp9T{p{F7G~w~Ntw8&F{|QOZ%;1^?>;`h zxI7Q%Sm9P{lNz*j2K=4ZT)wdZLg#I*B>ZjPcwrpQr&H;L1gC;j9@*fg2HlZ>z@XsA zU0L1PU`J5j?)$1k!z{w3GE4)`{b<$Wo*8M$#-w;~O^JKp)_TUxJ~;FTh9z8ThpqIiLW)^r8yrK?~qtb@2|q z$8RxyvBeg!Q{XZL!e4xMx7mLH+k-2DrQONys_4Fa6N}$`b|?E85rz58Uo>o*BcHQh z;WO-5W9(t~vTv~a*!@PmaTURzvFbqZ8iLmsVFmIvdyqYZe`C{u)yNG5e?jn;@xu*X zpYV5Sm@6+ceIi`e^gmR>WMPfZ->ml(Onjxh*3tY;>ioe&w4=SXt=`HQmE1cgQ*sr{L}v<8Sm$3s zHD4qSv=jU-_Hn}Z%fx|?h~?~0_*g-2_8LBsewO_OpH2Uq%SRAz%HsnAcx8)I`EhPX zE`kq?=gR}I3h%yemF8 zBaGA5mGB`#@TK`N#2~sK&K=643-QL~Q2fq~Cj7pQ5jeAC41Vjz0(vvOmp)0Krq9yn z@LM##r!Ue!(!bGn=zH`7{2qYb>@|Y`6Hz;-JN0i(?iiEKXSx zmR6P$OFK(POJ_@0OHa!X%Lq%QrP?yea*$=5WxQpgWwNEg@=eS6mdh&ssIdmZR?u-D;Uzgjt3sjUWC#aa!vDz&Pysq#A<`pPOGo2j#^!@dT4E7-P=0ax}Ws`>p|9W*74SD*5j;Sv3}M1 zb?Y~+-?pA*z0i7@^$P2i)~l_zSZ}l5V|~f`XB!I}XB$@=cbnce!8U4}D4Q6Y{x&H# z1vXlnVK&2Unrxo8*<*9a=910N5+JdVs3b8Gz2qIq2a*MnRgzC6YbBpbwo5*j?2{ao z{3N+4xi9%c@|P`P>uMWdE47u|Dr{A@k+!k6gKZORlWbFL(`@r>D{P0_a<*^V&ajgY4q$3havPbar)i^>z(* zjdsm;6YSo$n_@T3Zid}VyM=Zi*)6yG*lvy8I=l6D8}0Vkow2)Ucg^m;-Cy>EJ+x=+ zS$j)+D|=^qZ~HL&aC@n}+{#Yl;iz%cI@UNgI5s&x?`Uv*(Q%RE zGRNbN-#Uq$SSP7df2ToCaZU+NNlqzFL!1hoik(WG%AM++8l9S*TAW5YjdmL2G}dXH z)2mL?oZfeu?ew8jhtmS5MNUhcRy%ETI^cBB>9EsLr{hj1olZNQb-L-@9xb?0B4Z#my~{@wYmi^zp`5xZEp^m4Iw zk+|5o1iKWwyy!C9HQq z16)H~!(64VN>{aOlxvJ@Ki3r3OxJAJA+Ck4#jd5U<*rSxFS;Vvmt9|ReZ%!F*GaDL zy3TZ6==zcCa@UVt*SM~8UGKWlb%*N#*F&yHT#vh+bUp2Q$@Q}971yh7z|Gpt*3I6{ z$<4*h%`MQauUn{_)J^WDaEo<|cT03jaZ7W{a4T^ucdK;My4ASp-ClE>?zY73Be&&l zAG@t``^0Un+ox_D+%~x#a69OB*zKs>akrChr`^uFopU?y_PyI5?h^-gb-rj$D`goc#fyuS82)wvuf!=EGc<&_d z6z_EJOz&)Ot#_k$lXtUsi}!f%m%Jxo@ zmp&(aPWqhkIpcH7=PzI2OZw8jtgof7gRi@dfg>RH^jBkJ6INt={WZzWZ za$mh~i|bt{tm+x`k3%-|qulip1 z{nht3-#fnd{M`Ja{3iQ-;J4IogWqPqZGJobcKhw|+vj({?;F2w{l546!SAx)Rlnq7_#g5=>VLxjqW>lTpZu@+|Kk6v|L^{H z1NsK&0wx8l4>%g|SDh``Z-F9wbe zd@1miz}Eub44f1=IdEFwdx5h8KMb4~I6rVv;L^aWf!70X2Hp<56L>%HkHEi!U=S4~ z4zdig4zdk$2yzZ`3+f%@9poDn5EL8~8YB&h2vP+_1@#LW7!((j5R@F08dMlm98?-q z5%f~fJ3*6!rUuOj+8neuXkXA*K?j3=3kJbtFcmBg4hxP6?jJlbI4-z0*bv+nJTmx& z;JLxegFg;l6}%?+RPc|%mxF%_zSh^auV-KHzCL~Z`=<3R>RZyctZ!xCm;1ikcS_%B zec$W5rSF%0_xC-}_fX&8Ltuy~gbrat!bAFn3`d6@u%E(y z4!aROC zEu}K)0O>&KAZeU5OPVdsk>*M@(kiJ|S|e?iJ}+&Nwn~xoCF#r3SEN&D|SGo!hDbH%LF1ej(i>{Ze{DdQy5ydPaI#dPVw^^k?Zk>3!(~=^rvyW+Ahb zS;^dF?lKRVrz}JkDhrcIW&LFXWCLZfvP@Z)EL%1N-{Gi{RmrMlO|oX$^D={slOfql zvI(-uvMI8uvgxu8*?ido*&^8**;?5;*?QS-+2^t^WP4@DWhZ1OWv6AAWS3=EWLIT( zW%p$FWe??IIV-o2_maEH-Q@1_-txZk5P7IPT;5OKUp_!SNS-0jmgmX~ zMlnvoDJCmsE9NNL6$=!L6{{3m6}uFlEA}c5C=Mx(D2^%4DlRDQDhZ{xGEkYUtWZ9u z9HwkgHY&#`$0?C=g7Q`6>&h9*naWwp50$r7go;tIDod4>%0cC%a#eY#JXL|JzN#>l z6yNX}t?H-BQ&p*^s%EI(SAC$GtLjiKR4q|0Q+=#jty-&EuiB*As@kFYO!bB8OVwAZ zgQ_E{`)dA{Yb*NgZj!>)AQR;r`f$BJQf;w59rp{F7 zsPoi?>SDECU8k;BH>kf5 z5)&RXBIf0oS7Kg`c_ZdP%$b;PV!n;}zF$bcsD3g1`u7{uZ&JV6{XXnBw_itpaev4D z&i!5cd-QMaKeqq){;2*IFEeG#`eZhw5A z`0)71_?Y+s@v-so@fq>i@wxH&@kQ|^@vZT*GCP|Xyn&gut#cx3CmozXbE-4`?Gbtx2FR37@IH@$LE$M@#kCKig zolUx!bTjFG(jQ5GC&Oea**e)a*&*2}*)`cc*)KUfIVw3ZIV*Wca(;4Aa%pl+a&2;b z^04H_W=c*pHi3dTuMVqTgv#9 z*HdPs%uVS?S(vgUWm(GFl=Uf_QnsXQPuZEWFXcqacPZCX?xfsL`6K1;RG4a+YMpAE zYM<(q>XO_RBnD%kn=Cs{ud(!r$9Y{Nrb~^2wwDW1- zr~Qz2DeafEd+AiVb-Hc3L%MUiTe@$0KzeX`NP2j>EIm3sK0PzNG`%LhHoZQ*A-ySm zRQj0oap_$8%jvJAPfDMeK0kd``o{Dv>D$wHrGK9Ob^77-W9cW-Pp6+vzmw5BBP1g) zqdY^O(ULJHV_XKxn2_;m#=99)GiGGW%$S|=VaB42l^N?Zc4r*OIFxZT<3z^kj0+h* zW?ad*nsGhjmyCOvFw-*AC9_YaUuIxt-^{Q~b!K#C|IC4zahdU%8JQ)S)tUOtp_#)n z8#6~{zK}UKbA0AYnG-VK&U`O(UgnC-Pct`WZpqx9xhr#j=GU2rGmmDT$UK#KJIgIA zC@UwcBn!XNBJ0Jh_p)YXeV8>bYkt^tL)PZ3ZCR(YzR5bDbs_7= ztSebRXWhuUmGxWJ-K+;$e`XWeFxw{EHrqbiDZ4PcCR?9fm;GG!N7?JMH)e0n-j@AW zj%AKjj!lkTPJWIyrzS_AGc;#u&ZjvWayI2`9YPGT8e%iVc8J4}q9M8=wL^vu88&43 zkc~q&57|0oM=r><&Xwfa4bBE>*%UzbcA$L>mmfY=mAkR8al4qCam{*oJ zG;dg5W8U+5t$8EzrsU1eo0Hd`H$QJ}-hsS>c}Mb&=bg%T$?ucjH$OE$C%-BGmHa9B z)AMKM&(5EdKQDi2{_^~l`K$AH3}Qo&CJ*9v|qlo!Sn zCKsj^W)|iY<`otcRu*atb%nKsBMV0tzF0WE@TJ1f3co5mUHDDm`N9i@KNemtyjgg= z@J`{qBDTn~$hye3$f2mHsH$jqQFD=@XhhNIqA^7iie4>xqv)-o4~ym&brdZuT2l0L z(Qn0|SX9guTNGOr+Z4MLyBB*Fdl$=#6~*e}=;HpxV~ZyiPc5EN{C@EV#dC|>i$5w} zQM{`7lj6^cKQG=}yubMC5}Oj2691B*l8}<{5_yTDq<_hvlEEbjB?To#C8Z@5B~>LI zCCf@Slx!~9Rve&V%hjIR5q#X-LffV)5~s^{Z(#NE-AM!cPe)+_bB%&_bHc`E6XFx zW6B4V$Ck&JCzYp^SC==Iqw;skJIdFV?<(J4ey04J^7G|a%KxqqS9nzfRfJT8SI8<7 zDs&akSF}_ZD%vVus(7X1wTd?@CRMy!(NVFi;^T_d6>BR#t=L|%yW(KQHx=h9zODGK z;(Eo+irW=;D(+W2tYj-4D}5>zmFmjq%KnvuDhF34R;E;@SC&_5Dz%k0m9>@il?|0m zmCsiiD#up7R@q*;q4GfGg~|sSdrgq0Uel}@sX>}an(3OEn%SB;nuVGrnq``gHLEli zHGfq(S9w>3RE1Z`tCUrdRWVilt5U0Ss`9D|t4gY>s%olgtLm$URZXkfRdu84Zq;8} z3$3%(Q`<-Drw!DGYvo#{Hc}g{9jr~zrfG|`m0B&npRP{ZsC^zsl1FMsYhTj7qMfXr zqg|+7qFtu_Si4TULAzPIO}j(;rS_2awDx;lk}g%3tEPz(1`seVb?g;&O{Y3qn`Z@Y}`cL$m_1pA2 z^t<%?_220)=zr8-(f_Q!p}(d7O@CMaK>w%y@7i9q*0qva`&vUSSNl@!gxXhYf2h4x gd%O1c+Iw}eb-8s#brqdKbSV6_pv_|FM4jgU05@9{^8f$< diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index 0302e07..b9850e1 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -86,8 +86,8 @@ class ViewController: UIViewController { button.layer.cornerRadius = 7.5 } + scrollView.contentSize = CGSize(width: UIScreen.mainScreen().bounds.width, height: UIScreen.mainScreen().bounds.height) scrollView.contentInset = UIEdgeInsetsMake(0, 0, 1, 0) - scrollView.contentView.frame = CGRect( guard let navigationController = navigationController else { return } navigationController.navigationBar.addSubview(containerView) @@ -106,6 +106,12 @@ class ViewController: UIViewController { setupFrames() } + // MARK: - Orientation changes + + override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { + setupFrames() + } + // MARK: Action methods func presentButtonDidPress(button: UIButton) { @@ -148,13 +154,18 @@ class ViewController: UIViewController { func setupFrames() { let totalSize = UIScreen.mainScreen().bounds - scrollView.frame = CGRect(x: 0, y: 0, width: totalSize.width, height: totalSize.height) - titleLabel.frame.origin = CGPoint(x: (totalSize.width - titleLabel.frame.width) / 2, y: totalSize.height / 2 - 250) - presentButton.frame = CGRect(x: 50, y: titleLabel.frame.maxY + 75, width: totalSize.width - 100, height: 50) - showButton.frame = CGRect(x: 50, y: presentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) - presentPermanentButton.frame = CGRect(x: 50, y: showButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) - notificationButton.frame = CGRect(x: 50, y: presentPermanentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) - statusBarButton.frame = CGRect(x: 50, y: notificationButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) + UIView.animateWithDuration(0.3, animations: { + self.scrollView.frame = CGRect(x: 0, y: 0, width: totalSize.width, height: totalSize.height) + self.titleLabel.frame.origin = CGPoint(x: (totalSize.width - self.titleLabel.frame.width) / 2, y: 60) + self.presentButton.frame = CGRect(x: 50, y: self.titleLabel.frame.maxY + 75, width: totalSize.width - 100, height: 50) + self.showButton.frame = CGRect(x: 50, y: self.presentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) + self.presentPermanentButton.frame = CGRect(x: 50, y: self.showButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) + self.notificationButton.frame = CGRect(x: 50, y: self.presentPermanentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) + self.statusBarButton.frame = CGRect(x: 50, y: self.notificationButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) + + let height = self.statusBarButton.frame.maxY >= totalSize.height ? self.statusBarButton.frame.maxY + 35 : totalSize.height + self.scrollView.contentSize = CGSize(width: totalSize.width, height: height) + }) } } From cd95fb19b4ab68557c8219b7b64bdff6339d164a Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 13:02:51 +0100 Subject: [PATCH 15/22] Deletes some innecessary code --- .../UserInterfaceState.xcuserstate | Bin 32655 -> 32563 bytes .../WhisperDemo/ViewController.swift | 10 ++++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 564ca9f3e904692acaa608be0b9472e8d6fe4675..5c294fe3358b9688e47fa90f58776a5617da5d34 100644 GIT binary patch delta 12884 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 YJ!tx?>ACgJ762=?b+FR*|4lFd4=J#Y9smFU delta 13019 zcmZ{J2VfIN)3$C;*W@P4mRu!Swk20dmMt0MhH;hTBFnv7Zn)6F^rBlzAfa;*AS8gn z0YWb!A)$sIdJ8p#-a`+B&VND>UVncAh>>Pzo}Jm9o!!}8{}!3@4w))KU3h#(Rj=T# zc11aBQ-&bczMvoI4_d)sFa!(*!@xK&9()eI029DOFdcjez6J}x8n70u1M9)}U<23$ zHiKPYH`oIXgCpQHI0G($%iuP+1MY%H;BW8-MNuxwL!D6xDn}V6L?@w>(JAOu zbQ(IHX#^vzy}A9lgSf-ER_%N1Y+SRq!8S+E+c7VCyJV=c@8w9y)X2jUU929Ly} za4oLGqw!973Z9Cm;puoDo{tycg?JHOjF;f`cmv)I?}zutTk!$-KztBB7$1U<#XrNx z;p6cc_)Ppud=|b4Z^ysI7voFtrTBOF2K)#7M|>l`3*U|J!S~`P@RRs&_$mAfeigrl zU&kL=@yGZR{4at-AOs*#!iC@yzJ!>N5K_XAkP-ew0HG!#2n`WQL=jp-M|35Ui4?*_ zWMT?2m6%3+L(C(V5zC1c#7g2P z;%8zLv63 zlXYYh*-W;OeaKdF2sxA-MnZBd`2{(FoJdY5za;09Uz6XEi^wJ93UVd6iu|73NNypw zlH17L43AL8$w2oR&eNSzrwo%)u zUDQ7640V<|N1dmBr!G-fscY1A>IQX(`kQ)1z24JAbz=e;y1X(&PS`!n^>~dZ0(7&N|K%ew}H9Z^p zGb06SK(uCkgxhhHx060Z-=b@(`94gdhsXK=k8vongIVsqqBQqxi!Y6mo?4enFZtG=P$(AvGpj^7S6+Y+W*-G7Y!b)VhV%5;>ndbRrH_O9>$QRgi9{XHsR zHRuaA)IZoSf6z6>ABOs)pvM((-7a~J6}b3M|I8Xmu=P)H{~uo-&{sYU*kkY)N6`kh z(x=+MQ~K(sA$|^CvJI>+sy6V7zV@l%Ey}TJyrZwTy?3yt%+RY_Z&jZj&HY{ppG3T2z5b4>;$2F)D;z=Zm2sdq;J!A=)3fv^ga6iVvZd3WIx{Q z$CsU%2khq|`+34Fm2UHtBcm74!;afx1Pw+;FGNGoQ2G)5n6dhm>m$%e)=p$7-M0;m zqMy<=cDZO|^dhtq8iRJGpV2Sq*YvQDM#rOFID&=9XUI6Zl^(DVO+vfUf78zyf0@D~ z9W``lGoqRFOZpX4Et7fVqWK-#3Rt~2tllh{*rgP$VCMuaL(A!R5aBR8WGk}jQFeVU zK^xF+Xd~K$Hlr1d|Dhmx@9707*8B0@H%7iKyI@FCh7%FErhPpFY zSOD{Y}mfmLR36}bY2QZG|BBne%kVy|0GBeoUBiY}F!sX0Q z;qGKlnnPP4Vq$87eVB*g0&5>`-wwgeZRHN=$QaBW(vdNoJE9|l=CTR%e{vmn40mit z#(3`M9T^k3lio9|AM+!3DtB5(kr~{X9T~H^b2>7<=6=(Wv4Gpwkuv#`oL}9T^+BKXqhm=5Fc8*v|c>BV!kLcSpuP?yok6^`9igJ;*)O zQRFE1SVzW5?r$9#XSioOGJfY?=*YOlz1)#;jmu`-Pji*vz`e!2{l6Rs?w{QIY!>3) zgGiq??gNPQV{JrIISxn~$BJZd|FVZr-)eq7V>X8~w9c0qt#(uY&3(;oo80Hz7u=WJ zR}kqBkyeNdfXKjh?i=n~?mLVFkwFj{1rc_!PhxhfH@gxT#dd|U>v3=!#)HTZW|GiH zi#fB25p%)#5E%*)>p$rZbHhYz+QQs1Aw-5jWcWhN1M`H)2#AbiE=QF3NHPEa(;k2Y zLWG70WC}Dvx=>DJ8x{tUF|_kZOvU+uvw`D)sj&!5gGHA1Z|Kob*V^2>7evNE)mB}#85Q5(v` zAT|mcjg7&^GTpVAY@$41YuTv{EyKRXzQN{U^RWdGIRug4AaWKWmmqQ#B6lIeM#B?` zyoAVG2mk~)1Z;M9hCl#;I|RNE1VEsGAQS=>1Ud*hLy!PL7YI_=T)RpqV)Av3j4GOk zRDK8@G2r;Q(N@R!FWezXgrU(QmT9}P!sP(-mnXN&w|D> zo8x_%xCB-pzSQBNy?rCn+>>wX+#Nz7wHlN=Ds zd+$ys<{?fv*DkP~bvpSy+mxh394I??M>YSG4?DVwnYd&gGrdL2h?6Cxn_XtlKmH6! z_F~>9^N_-SM&)X<4=J{b?Pt{N0bZQ!$mmmiNq;-@;QAgZRftNChqB8XSKvW-FdhPt z!w@+Fk)sef){cka;T$=xg2-`*oUqjhCmGkA;Y@3q)Ea{)uxf}4!be;Y0i8|f&?Y*! z9Z$r&uqs_4atb1+Z7OHznt-mGMQ?e_=LAn$X4@2#E6W)xs;N2l|4ILA@btAx9?8x*R2 zIJ?pP$M_w_kFYAoAV4AD+Eg&+r9rMbjk6WSf2dr*|6o-vK|nx2+Egee+Zd#}f#3a4 zl|S)&tjYrj93XJCsW>qUS(T?aTR;3qh`+*Lvnp)bbAfF2U|#|31pm91M^RA(S8VK!j)i)iFQIjxDoDz5CZm}2m%iXJlhEmf-NKnZwR~~ z@V0g8^C_D84N2`?$N1&+VjQ#lRDnc@4Mk2Uh#(>u0x<*<2&54BwG*L47;8G4kYy0~ zvncOZ#7O2$mPi#%#M!L>x0OW16A5;;KnUb^HQ#JsRVrclPkW6-CTnjt1VIo4+w2Wt zx@8Bc@`;lFR4FCOSd|J0!XOB@sVJFE*}qS2;ON7NGyL^lZ35JW(rfgrM-Xd;^J zhDAZ3{pimORVy*%KUIbj!`NO%KoAW=e8H+rgdi4zIGaj5 zBR46m(}`KE%D=8GV)n=RPW(Uf-D_mI?BjgTC))qB&uhaVp7?cN!iBys*QqBBXC?>i?&;mgZ)*}-dMQWMxMN(`LsUxGA&x*Pv#gMU| zK;s}_OV0OaGBVMI%btsRcf?I0Q%N<=276x!`q*Kk+2Qj^GLV^{fU+Ry{}IS!1ImS< zwIfggS!f3u2*H4lKnII`Qp!lSy8q~AB?N;%0$FT8H4qHx2-HA!vjYu-U?>apX{H>R z<`UPW?qttTc)cJP@e!}D4UdhJksa{{l7sAcGz3N$+$vJkg zFCh5b4pxvfk6iExqz!_JA3@q}Am2hTsUygDGQ?`>kK7s9o;LDF-du(8PA(+(> z>;QSt4mJk@_U7cD2|QdbPC7=imwO)#I|;$uk65Q|SZ5&kx+B)_nu!E6x6F)dn^k z=V&=PDx6X>e$`%xiixcbpd#1`j$-$^ADM2|iPmVUQ-=bQilyRhZn5cPQyY~4!Dic` zz@_1TuEhM_Z>V01zl}cX-QaLeY^$o2x%{{vIYxsBvLm4Pz z$F8y|lQVlOO65SXqm5$I%uYsQ3Ct^`syKqBR1sB7l~AQr8C6bIP;4^U4Z$7=*cjXg z!LJbPhu{DN2bWUSoIsA8s-^0vda8lLo+l2mxBBefbQppo5FCZz*!m?FZ$v(j8p_tV z)F5gwH3Wha5U?@%+ahWhHJlm&!6^uyK=2oHqo#M(Xk_%a)EH_k^%*se8V|u~2>yWJ z3IsPGxckqA0X2bQ^S~l%A~lI(S0o$IXCXMZh?+`GqozY}9s+hpyTG*7ekY$x&Hp#a z1ymcw2Ixfy*aPNergxo>d?~f!-y~O3t0*=)u0n7Pg6qucI{%~%6njtf|M&hgwTapc z!A%HmL2#Sh;k!KKy#G_j@sk6N-*M^}jsvxW+PU7fzBjPmv4_ZRYENZOe)fRYn%W)> zsWq)Ni>TeyUQSF=PQLBehi#1dl{(5^tg;>-pbk=#slyaIz^vbYLU50D9fJE1JXlOk z%f( zuWD`X+3>zl!A^*s3-DT>E-H?Wb)MZW#`#4b0yS`?KUrno@CN@ID9BmX^ZX%=G zI8HS9aQ#i)MMf{fdQ$hWzE~FZka|QtW^ZqoQ*5C!7lOYbvWUGQf#3xMuON605j{lM zW6@i7az9;0QTEaqJpZ4|f<%O(-r1M-%Z~-QujV}i8T&uFJkl=2)-k#!isxki^^Ps_ zD^ORSfO*j3(U`)Pm_>LMTj}*-UqlD7uc0Gx8XwKRiLStR;z#j|_+|VmejUGw-^TCa z_wd*FTlS$7uvGz0kOYr#Bz%Z2?8D`1_CR%yB*_3WoK&;#k5Obi`|_B}zByL1`)hxu zZ+AEASM1B;T5>(Pf&7vDiQNIVuy2aLkh{n|9-Km(*+OE&GlKcw8RNBYAGTa9%9W%&Xw_2EWc91&6SRJ}L=p70i204s&80#?3;d6%x4wD?FIJ7(b=&;A( ztiw}>za3sUymENs@Xk@=80*;8F~u>>F~iZ|Smapa*yz~o*xj+G;~2+Djw>A3Iv#br z;CRvTvg1|92ac~D-#T%efRnS6k5iD7#wp54=hVq*meT^KADlKh9dkP8j5+h1tvcr% z=UnGJ=K|*<=W6F#=X&RE&b^)IIL~w5=X}ihZ|B!8{w`{lNEfY3CzsAHaV~W(eO&sx z3~(9jGSp?b3v`+6GSg+2%N&=vE(=}ST^746by?uPcx=sL!Ah3f{_9j-fF54oOlz3O_)^^NO00U|&Jn1B%Q1s(z~ zfsa5ekP5;DDnW!GQqV=vRgfY`6XXdB1Vw@pLA{`_pub>%V35E%R?U>Vz3zM;8x^T?N;Mf=hooX=+^Ak z&+QAhnQrslR=90&`_b(uw@q$a-1fNbbKCEB(Cx6>QMdc<4(=-V4EJ1jvwOa~#l6nG z!M(}7#l43+?f$v@WUKpB_v!94+}qq2yDxQL=Dyl}t^0cS4emSLPq|-ozvcea{iXYB z_qRe+hzSWHC3F+|3gtqrFiw~tGzznYCSjhiKv*Pf5e^a#77h^(6OI>75Ka_tnj?>g7BvBq415!3PfBHE^-h#iCjdkq5x62 zC`FVj$`=)iNcoMbtyoOVmd+LNrP=M)a9zf@qRxifEc>x@fLwsc5BWwP>yA z2hm2+&!Wwu-J;{7%c85I>!O>Y+oHRod!h%Tw;mi1;KB94JxC9phogtHN4Q6lhsDF{ z(eAO=>T%uUvBxWqHy-ai5l__9(bL(J?LPPqt5)PmNEVPlHdRPcNT7KK*=JeFpkW_Sxa{r_WQL=RPleUi*^19=LhuuYKS6z7=!C zPGY`TAQp-}#9m^BI7l2U4i$G2r;5|Xda+TQCC(A&iYvv{;u>+CxIx?~ZWebJj}p%i zZxr8@;1V~9Na88+k%%QyiAItrNs(C7BpH${Nsc5}k|(K>)JghC21o`;hDb(AXvrwa z7|B@4bjd8q9LZeC0?9&2yJWHCC&?bk0m&iB5y?r(DajehIms2t1Ib^KXOicVHCIr7HJRZ5UX^!bfgqYM@z>_ zr%Jz(E|4yiek)xf{Z9IW^hfDN>Ce)=(v#9t(lgR?(%+?jNH0n6NgqfbNuNlcO8=I= zkiPPh`04!2evN*U{MPwx^4sjU)o-ugLBGR(NBxe=xH3msfGk25CDX}bWU;b%S(+?M zmLtoR<;ejN4Y`g4N*(uq1 z*#+4}*)`b>*)7=}*&BbJzl*=Czq`MezmLDzU+SOWU+urqf4Bch|I_~G{4e-l^1teT z!~eGbbN`qAZvr?0XaF8S1vmyc2gn1G155$k0_FrP57-lM!WwWX;A+5)fZG9o20RFO z9Plm>1Y&_?phKW@plhI8V0s`OxGeBQ-~+k0JV@Ro?=J5p?<;SW50Vd+kC4;y(elsa zpUWr8r^u(vXUb>G=gQ~F+vM%?CGutRmGU+6_3|I&Kgl=Cx5;4;13bUd>QLHFaR4OcrIz@w` zpQ2SUP%%U?PqAFFQn6aGPH|dsO>skUOK~@dA0!Tv2FZc~gA74MK_x+DL6t$Hf~Evb z3u1!44B8a5FKBvBB}diNRfiy9M_T9uPbzcxdqa;1$8E zg4YDE4?YuoJ@{tu?chH{Ttg%wej)xL@(^Q4aY$)Mc}P{r=#Z%)(?e#2%nI2Y@@vR} zkV7FyL!O3$P;Mw5N`7Zwem}J}7)h`0((y@Kxb!!qID_Um2(j zQf4Vjm1W9uWu>x3*IQO;A&SGFlvDOW4kDAy^s zDYq+sQSMY8RUT6wSDsW}R$ftFRbE#-s;6qGYM5%cYNTp{YNBeA$~r~$wdxzy zJkBh_Qo6V+2SP@`(D8fV`g z-PJ<1hdNL#S1Z)PYMnY--AUb9ovzMM>(xeevARTEsxDVIsk^Itsr#y1)dSU|)nnD; z)L*DCsqd+usb8pHTh;F(K!ihtbA)SzdxS@XS43(=|A>VV2O`cyoR9b;;&Q~bh#L_v zHK>NvIB1+Te2rM+uaRqlHA+o{CQ75zq-csXLp7r{Q#CU+vo&)y3p9%~i#1C%-)Yuq z_G*r5PH0YP&S-9Ho@kzFUT9ux-bEHhRz-G?>=W5Pa$ux&Smek^7&$ufi^yq_izC-X zZi+k~c_j)&c}B^j6j4D@AyLs$oulHTxf@}ml)N}^UpZHn3vwL5BG)Pbnu zQ75BLN1coMJ?f2CqV1|RYO}Su+B|K!wnAH_9jG0x{aL$3yIs3eyGQ%0_MrBN_PF*p z?HTQP?H}69R_!(IP3;}+J?%s76YVqY3+-#|I~~wrI#Sm~m#j2;a99GzKLpexpu z=_+*=U7fC*u36VZ*IU<5H$XR7H%vED2X$j~<8)u>Ch4Z=zShmtEzm8B=0rP1yF|N2 zyGOT1!|2h`W247+qB@B>d3N&dB#!ABGc;y+jCEuTj5!f=DdtMdwV0c+VX-l>v9a;7 zU1F!l&W~-2T@<@G_Dviw&N0q8&NZ$)t|_i1u18$&xF6zn#_f*V8@E5+Dc(EYH(nAi zi*Jq}7(Y0EX#9xy?eT}=kHjB~Kbas&2un~Vs1qU+V8Y~tsR`2)W+uE!Boldwj)^Xb zb%}kfiTx5=69*+e?}Bw9x=>vlllml$NU|ouq%mFhcRk(pY}fN$|45c6M<#2Nqmw%) z!{o`yQd2)-?AtSz2hCGA$x4 zDlIy#OImVTT3SY$F)b^tF>P|%*J-=b4yBz+yO3tRllCO-Y1-duFVbG6bJK}*UbpWc|>oIWOfdHPT3m(%a0Kgr-^P#F#x zP8lv4t{L7L;tanG{|tFXP)0;XY(_>#Zbp7aQATM-MMgtLQ%3iUo*8{I`ejVY_&#Gt z#+{5O){NJBOfS&;=*4=eUZxMwhwIh)NWE6yN#9wYtT*XP_1*Nn_5Jh%^n>-o^kekn z^k3*F>ZjA%u1(y!3}q~D?6t>33Vpg*iXtv{!~puecUqQ9npXHXclh6+Q2p{HS} zVYJ~h!{>&HhAD>GhPj4$h6RR2hHnk44AzZ?9fl)@GluhqKMa=**9`Xz4-HQYPYurv zFO8_t$tW@g7{iTfW28}Mj4^gKrW!Mh24j{n$5?E%7@Lg)jaK6*<5=T(;{@Xj<1FJ> z#;=X@jcvwd#tp`;#skKa#?!`g#tX(v#@og}jSq~EjDH!Q8Q*16nQobWnIYE9@Jw}P zWTq}NF|%uCYG!(-Au}_xAk&iBk~t`o&K#ZjS?1@N6EkOK&d!{h`Az16%!QfDGdE`b zlDR8$Z|45YLz$;C&u0Ff`A6pE%&VDiv*cM(S>;*vSv|7`W{u98m^CG9de+RW*;#E_ z?O98*zROyXwJPh^tcO`|vlZFu?3iq8T6RvhIlCacIJ+#nF1uTHb9VRaUfF%Jhh&e+ zo{~K~dv5l;?6&Oo?3LMTve##C$ljR!bN0^cL)oXZuVvrMewh6v`&ssj9FT+MkU6{@ zryQ3Y&m8|8Wln5PN=|x?Atx)xlv9#Zo>P@$$*Id}$f0wVG|Dv5G}E-uwA{4HwAS>!=||Ic(@xVK z(>~Jy(;?F-(^b=-rU$0Srl+RoxkxTIm&m1Z9dn&?J#uBap}C!MlX6pX({l~ES-FL| zCAsCfmARJO+T0Pj?YZl6&*fgteUSUYYR1hnbD%lM9BNjYBg|3eXme+Cyt#`x*_>w9 zo9oQo%+2N==HBLh<^krx=3(ZMW@sK`9%uf-JkdPIJlFhRUs z?82`Kzb>3#c)jp(;nTwBg|74vi@q;9 zQFN~8MX^h7tY%VS+E-s!`yr6hx@tWfG#Xl7P zRJ^HpSMlEB{ly21FBD%azEXU>_*O}9iKZm6q-#lPNk)mWB&(#bq@<+0q_U(}NuQGb zB?C)_lx!;5RdTH4WXb80b0rr_E|%OXxm$9-OJ|qPEuB|-x%5uy-=!~0-;{C6&@!ydxy-f9y-ZXVR2EVe zUZyUKEE`ZZvTQ=xa)wQ@uyT{*gPY~`1g z*4dSFE9X_VRo<+8Sox-kQ-xOHRaBKjm1mWAm2Z`_YFO3ys##TERee*nplVUo;;Qee zR#a`O+FJEX)vl_&Rr{+BRUNH5UiD|y^J<4`uj=sX#Okc-!s`0!Zq?1z{i;8&o?iW3 z^}6Z})f=mSu0C9Szxq}6>*_bv?<|fM7mL6mv|2nZ-j;BS&JtsZvm{!QECx%CrPR{R z(r9V2v{(jNhFV5gXv=8JSPNsBZ&_j4V%culY1w1>)pF2s#B$v7o8^Y(w&kwnp5>wC ziRGE)h2@pyO$|{as0ph{t|_kRQ8T9Io0@esPikJ)BDD^+p0(0i|5|x%aILyFvev4r zjj4^T?O8j%wykzq?S|TowVP_U*8Wnvt9DQAiQ03u7iurnUah@Td$0Ck?UUN4b&|TQ zy1{j@ZhYO0y0*Hdb<68k)vc}DShuNeYuzt(JL?YC9j-fBce(CX-QBwTb&u+v*S)HH zTaVPE^^Wx}^*;5%_3HY_dR=`?eV6*=`ZR03zTQ}$Utd;VSKqzc(QYTY{od_Pw@2Nc zH)4%~Mq#68qfeuxQPvpPsA<$TMmKhDjBiYAOlnMSY;2s^_(S8R#@mgL8ecZPX~LVF zngmVqrl6+IP03AZO&Lvwro5)crk19jO?{gBHw|nW(loru+BB+ZY}2@=8BJd{&2F08 zoPD?XdGpKW*Uj%*3@t@1B`swwl`SnTJz9FT^ldrZa=zt4%f*%}-9x*_ckkLg!+vQC PfSvN(?DXUR-3|W_Lcx=m diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index b9850e1..bd1d1ee 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -86,8 +86,6 @@ class ViewController: UIViewController { button.layer.cornerRadius = 7.5 } - scrollView.contentSize = CGSize(width: UIScreen.mainScreen().bounds.width, height: UIScreen.mainScreen().bounds.height) - scrollView.contentInset = UIEdgeInsetsMake(0, 0, 1, 0) guard let navigationController = navigationController else { return } navigationController.navigationBar.addSubview(containerView) @@ -115,7 +113,7 @@ class ViewController: UIViewController { // MARK: Action methods func presentButtonDidPress(button: UIButton) { - guard let navigationController = self.navigationController else { return } + guard let navigationController = navigationController else { return } let message = Message(title: "This message will silent in 3 seconds.", color: UIColor(red:0.89, green:0.09, blue:0.44, alpha:1)) Whisper(message, to: navigationController, action: .Present) @@ -123,14 +121,14 @@ class ViewController: UIViewController { } func showButtonDidPress(button: UIButton) { - guard let navigationController = self.navigationController else { return } + guard let navigationController = navigationController else { return } let message = Message(title: "Showing all the things.", color: UIColor.blackColor()) Whisper(message, to: navigationController) } func presentPermanentButtonDidPress(button: UIButton) { - guard let navigationController = self.navigationController else { return } + guard let navigationController = navigationController else { return } let message = Message(title: "This is a permanent Whisper.", color: UIColor(red:0.87, green:0.34, blue:0.05, alpha:1)) Whisper(message, to: navigationController, action: .Present) @@ -162,7 +160,7 @@ class ViewController: UIViewController { self.presentPermanentButton.frame = CGRect(x: 50, y: self.showButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) self.notificationButton.frame = CGRect(x: 50, y: self.presentPermanentButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) self.statusBarButton.frame = CGRect(x: 50, y: self.notificationButton.frame.maxY + 15, width: totalSize.width - 100, height: 50) - + let height = self.statusBarButton.frame.maxY >= totalSize.height ? self.statusBarButton.frame.maxY + 35 : totalSize.height self.scrollView.contentSize = CGSize(width: totalSize.width, height: height) }) From 4827c462c9a00a5bd9acaaf2720177f3b169506c Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 13:04:01 +0100 Subject: [PATCH 16/22] Adds forEach everywhere --- .../UserInterfaceState.xcuserstate | Bin 32563 -> 32655 bytes .../WhisperDemo/ViewController.swift | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 5c294fe3358b9688e47fa90f58776a5617da5d34..1f7e0569e43eb50f784550e79f423ef5a98165c4 100644 GIT binary patch delta 13004 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 Date: Tue, 8 Dec 2015 13:53:10 +0100 Subject: [PATCH 17/22] Not hidding the status bar no more --- .../UserInterfaceState.xcuserstate | Bin 32655 -> 32565 bytes Demo/WhisperDemo/WhisperDemo/Info.plist | 2 ++ .../WhisperDemo/ViewController.swift | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 1f7e0569e43eb50f784550e79f423ef5a98165c4..325609bfbb6ae7cee96f5d4ff7339f515823ebac 100644 GIT binary patch delta 8908 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 diff --git a/Demo/WhisperDemo/WhisperDemo/Info.plist b/Demo/WhisperDemo/WhisperDemo/Info.plist index eabb3ae..303058c 100644 --- a/Demo/WhisperDemo/WhisperDemo/Info.plist +++ b/Demo/WhisperDemo/WhisperDemo/Info.plist @@ -2,6 +2,8 @@ + UIViewControllerBasedStatusBarAppearance + CFBundleDevelopmentRegion en CFBundleExecutable diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index fb1b99f..a50b72f 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -86,6 +86,9 @@ class ViewController: UIViewController { $0.layer.cornerRadius = 7.5 } + UIApplication.sharedApplication().statusBarHidden = true + UIApplication.sharedApplication().statusBarHidden = false + guard let navigationController = navigationController else { return } navigationController.navigationBar.addSubview(containerView) @@ -165,5 +168,9 @@ class ViewController: UIViewController { self.scrollView.contentSize = CGSize(width: totalSize.width, height: height) }) } + + override func prefersStatusBarHidden() -> Bool { + return false + } } From 538566e9a0629c7fb63dee9472a0d551c7689b48 Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 13:53:50 +0100 Subject: [PATCH 18/22] Moves the code of the status bar away --- .../UserInterfaceState.xcuserstate | Bin 32565 -> 32558 bytes .../WhisperDemo/WhisperDemo/AppDelegate.swift | 3 +++ .../WhisperDemo/ViewController.swift | 7 ------- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 325609bfbb6ae7cee96f5d4ff7339f515823ebac..2efea9b10ba9e0ed9ee50e1f3c98e14ff57faa98 100644 GIT binary patch delta 14302 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 Bool { - return false - } } From 437a8f876a8b5f928c744d90de1bc6d89574d1be Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 14:28:45 +0100 Subject: [PATCH 19/22] Moves the status bar down or up even with rotation --- .../UserInterfaceState.xcuserstate | Bin 32558 -> 33615 bytes .../WhisperDemo/ViewController.swift | 2 + Source/WhistleFactory.swift | 43 ++++++++++-------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 2efea9b10ba9e0ed9ee50e1f3c98e14ff57faa98..3bda022c0d14c98c19aea98598d74aa274c62e98 100644 GIT binary patch literal 33615 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 delta 17428 zcmaKT2Y8dW^ZzToepjZmx1E8VX(vwNkdQ$J8P0O{PMkd`5JsSse>qMd{(aj&&*Q|=-F+CctAWP z9ubd;XMh4UU;qm^U;<2m888P^_m<#5C`Ct)P4BEg7 zum)@do4~hVC)fpcgG1mjI0BA>li)140)7Km!5wfHyan&TU*J9X8~g(a2%tH%fR<1Q zt)K&Rgs#vHieM;I!Z6q!hC^)x>;WTT6pV&3Fb*cd6qp7xVK%IS)vyNE!a7(F8{hyq z5DtPZa47r?4uiwt7jQiM5>9{<;UqW%&V~!&Qn(3z4L8Fr@EiCo+zxlZ{qO)h2v5MD z;dyug{tmCfd+-l?{P90vmy?z)|2Na1)3G zo&qm{w{8}U)(#O26O0m!7K{^25KIxw5X=_L7c3Sm6RZ@h6>Jb}7Hk!46YLWFC^#rM zDmWoHEjTCmRq&hOy5P3p55W_`bHNJ=P>>=i0Yy=!lo@43IZ@7(3*}0=Q4&f@c~d@A z02NGyP@z;56-~uZJ*ikKky24=DwoRBQWcbjs-&u@I;x)PP4%VvQ7fsn)H-S-wTb$M z`j+~E+D7f7c2oPP{nTOV2z8t~L7k?4q0UnmsLRw9>Kb*Ox=r1o?o$t_C)88w1@)48 zOTDB1p$S?*Q#41L&=#~MZA07AjCX&c1~P+~7KUdKGnyI0Ol77q)0r8}VrB`mj`@mN&un0}G259P%uZ$(vzyt&>}9Sp zH<+8uUFII6eaJjw{$!ppub9`&U(9Rv*l;$6jc1eD6jsHm*<7}WEoMvDO1745Vtccnumjk^>@apXJAxg}j$jsKJX3pf75 z`(uKD3j|gXd=37?pReUd@ml=7a!W50Az+j|!AtmXU8!jUspPxs4w&}k6ub`~%6s$v zx=6FgtmVW4Vj;1J_vK}LAaC&tv6N^fOo?TLnrJIg)zr>ZI)lw%P^l4Ll%V{E%P!g+%)w)+^VsaU=M)$(ZtImM6PLIXQ^`fPP zjZK64*A47d*SEQ|t4;0Xp#LR*i}lz_d`EmwXiICGYXL^tsB%*)we$% z%!lxV?o@a=XXt+iu~X-6VUPRYr4w0*$UVefT~7-c_)*u_A~JA4p(Q5Z9ZgG2=EJaI zy7R&OM&pKckOr9c6>#8iJ82cBU#xlt2 zEODNYwi4&~9<9U$K9aB0Ewv2ld71c4-+G0QY9+4n(R^iIMpaY4UkI+fqZ`B>!g@Jz zlek6P=41GteC%@KE*}0Ld>kHr752BKusZjNUY)0WyxtoIx#z@Rgme}0f_O>1B3=`3 zh_}Q$K7sGWC-O;rGM~b$RuS)szlnbUK`a9hkbEki#^>{8*kR>-1=el9@GD;nU_)59 z0ZSkRR=}E1=QH?BUfl+4fgK?M4ty4$je{x|Yaz@YrrqISQeNSFplEndfO}X(_mOPT z@DPO}z&&VWyODq=@G8s9?bTG%($w6qYT#$ffF}`tmY7OR!xo)R%m5M~C1w$`2{m8J z7Z@V0-Q2*R2wn~XfDFj_LcWME{y$M?2(rA+@aPgf9ZevjJz`4!zY$}IjnXcGsu4;&X2&3v9OKttp}gzxf?(uXac?Y-ux$gAHHuJAtBVDAJGjv#h>q|pVYd+wj;$u zh~T9kLIZpThU0((!}$KKU<5w^^H|wA2l8OdGJwEnejxuTKdd8+z~^8*VZ98D17Gli z_?BhhOE7^S%n!j1FR_bsnhs_fQD=eK{80WgOxbVlEBBV=~@|B%zYr$7~wskz;3fA+;pt1IAy~dlt z7JfAU`A3bnf**`@+6K1sWB9RrUa_iIVq$GmOY=al*zubP{l8B9Jz$@a%zkiyAIE>e z=V^qNSgKcD_27nvx`A;6>#DqBi`zvBjrL#Gv`)aE!0`_zKEY4mD-8}mrPug0_=TUy zPx+|vIdIXa_g}#!eiA>K&&%?Pop9Gk(ci(153Cx!KYj(bFz-}8&nq_CpjW2~_rO!U z0DwQheeeK01dqUD@Pwbv&){|ZOnw$Wo1e1^{0W|c=imi+30{HM{9L}3U&e3Yf8>wx zx3P`;I6CW&I~?$ZkioGANhp96r1^RLe0~AHP#!}62`*>y#92|$=te@<+!C65sqgs{-fPPFsXwbukla?#w_KB8QRmk zw5!{{cMc*478BByFc;>*d{_VrVG;ig|1H0j|BnBj|G{M?)~*yUJ`z{~DzIMLaFplp zd+}7R)RnumMl`}cgmgJ3RZz?EU%iv!4 zBY&R1$X9kXQeIYb?V!$K9fC*o5{HR(`~_Z)zre%z%LTqNtCK@}5-(qv+qI=@g}DK z)}{Y~+~&apYw9#YUAD+g`v5-rV1vi}wU5UB6F$c)58TC{ZG|uR>mSxo_!_>&1UxKx zD}2Y__(=GhB=m%3ykBekSUXo;Qb5w3eUJ=)>q8%;37KMQktBPPvHT1E zCEk{*I2%8&*#5Cy7gaKmOfh0tk*WM^{tafg=qAoklQ~AzTnzS34~D&sCuV+2Q=g`m zCcL!a&7s4IWD$w?@?~T(S;D{P|6WFP!#i?K`))j{TRbSx?d>L+5#gqr5@DBbm`!92 ziTCqWWGz`o){_lnBiTguMgZ@}5CIYa0Rj{PGy=>jq8r(l>_;|}{mB93K)wb67QtNz z?nUrt1fL=J99y+evL|r_IY#f3k>n^+OY$TlM24nbZ$YT4mp>cN6se~kPFF0 z<1diA!D-;m#uTgmUp@5vv?ZRB=x2f35nMeZi|kbB7=$$jL0@&I{|JVYKQkB~>n zpU7k6aq&EWKotVj2w-2-B2b4wJpv5~G$PQ10CwXi2=u}84SYx;$#eKDfhDbU$k#=;$luKR zBk7WXWYbRa^X*Fd-9WO_lSH)<5#8&QLG=+qU4d^ISR8a#GLcJtSeP=n%834lf$r3f zzAd0D`eOshrJcn437o4HL195g($5VnZhCZGP$1Vu?KcLJxI?$<>gouEGQ>#wZv%@* zdk6kq2Q45CB(HYqDn&?WNLXlna93#oYhaOdu!Jf@LL!0{Ml9wA7VmbJh%iNPc!aXb z7{%Ja;@jDgvQAlBZ)75YgMr0g&!Xe~x|m4dY9PtlNkVy7l81p5h)J$)wbfyYkowwi zBkiOH4n@204@S8D22zNggdJNIQWF{)Zsb@&kby{+x*BCf$p0B?ui z#7uwi(st}*f^`CX^6GLF6KoW0GH%!+_{O;5JHhwH4ci4fj2m_fa8}k8be~|qaf9}d z;IMJaPl98{4L=J`8aMnRIAh#!UU0#<;gSF+VO{&ZD)`;F;fCO5dqZ4j5+t}IxNFRE zU+@rTBZ3DA^lKG7LZH9V$}V_jh@xiQlhA^QPAk3?yu&HC;FaLD;Emud0s{~jh`=BO zTG|AE3Em6-7W{+2U<7ys5CRkN25u6v&4#8}+!MthFr<~jJNKu!-OA1>j55bL5@kW* z-FhejBR}Lllr?3CQx(dF!aM9|2n<_B*;5V(3`h8wuRpMR=#oQ~ZX(L#|8RLyUI>gr zK#RHNg-U{bab1GKoA7Af;tVCj1vOk&qvTW|6+|hD2jL=KdjSW5&k-1lz!(H3;L$d? zDXDOr^-y6{cLc^E@WnDJg2FrYcm%%0nztyGWE>T*`%39aCQ!X}rwkql~Q?KOExI9`#9k5~`cj-Cf&EP0*)1 z&QyPD05y;rM72qa0G#$^jb`$CQ*~ADb!SI8a17oLFuTO)GTT?HHVr@&732R2u@v5jcgwSp=>i@H+x`5x^1q1c6rwyhGq01W5!L1WggNM9>OBCj{LQ^g_@Z zc|(5$gAoivum^%s2*w(FVU58H^KlhbWA`C(p*9$r7ixs%y8h7th6LCC;|fe|F)%FF zZH*XX|55IHL-SIN6-d`TNpjlK*h2}ri0w4cm+3Y}=5-PK(a_w6#bVpVf}?!9iXAf0 zSL*sk=XcTan4x*KMwo}SjMF*B*mddal!3Zd*E1%)OLIrM_LXi?jH(M(N2<0#BaGE8 zjp^>z(x;=e-6bQVI+C_cI(5&~F0vho+Gf3M|L72%s*h!t4m;AcZ?GOcbWyR^T}T~i z+E!g_T+wpz4KmDnZepgYpA{n#jBxt4Qh+V01?gb`(d79@R{DIH`-}=#B*J*p>%L6+r1r z%ki50Kc#Itkj4ci8Xr4OAn-Gfj{zt7O0PJ5X}eq%r_-i5Ys2a2f0c}(dt%8r1WqGd z;=__>IwWHSTi=!q4+#%f2Dk?YM+A*59v-IX-d-5**dgd-8ZUfpbPBDaQ)#^XokQR} z0v8at*hXj2nHU!zOMXSTGMGala2YRY!tCL?xhj#igx374HkEXhLFzXIuIjbHLUM>k`r0SMee;I zj=t96m^HAeZxXQJQ^31+UWW80(v2h7ulx>{E5Ib1fI9iOX#JBA-_Q2 zWyg@)?c|(pr={1?ICJ@r5q?c?#**J4@EUu^i?cz4M72dlwN{1xccu?FFgjgYp+m-hK?*69v+U}9`wQIcjyQIiuaIy zgz=srh${=69?wLNr`=)y&+N-Lj~D<$6yew$;oXA++!e|Xh%aerXnmXqKlRc#hB=AHNWX!T+WzwxEu;Uy4)*n z``d20XLg2m#5QBiIA8?EhOuSr7<&Y*5wt{r9F)kU{->I0OgdIG6Txl>O7v<={9WnPLAa zG@KcMdm4pc2!f&do|L$!)7hRuW0^1iQ)mJ+5erR5used`dZ7p`)Geo*R>$C@%)ifZ zW?rYmBma-X`;98~=ydo}X2pN@x)PVrB+MEFqY;eJ_u5k*iraV0TYmWIt@hZ~9m=s& zFdG?su4!X7F<&#AnJoy$AsCNf0)oBTm~WY_7~^{c6A?_(V;!duEN|gaHM07Fi~^Ax_@DLU|`AA zv*>*D%|33<%u@p?OC#*5TbduD8<}tMG0|XN8mKwC0p;Cwk4jA(x_11|K*TjwoJnC( zZJD`k7dlHA=mokfWeG+E%0MW>sBuOF69b_H6T)==vi*pLA5r*`E4-V-f6Q z+;1;7k;QK*5bTFwUjuxYF1*AgHkH+%#ya%J(Tb0{?Pn!ce{s#?z#U)=l+P9zfCeEr zuoLJ=iAzE$TmBKK0>QzZKvjC6YJ@MYj4V;lHW+}0BKRo=>h#ped^25rsa0$rw%AwAk*1ZNtf9b=Ch&}Jiu$Nj;5e4&}{ ze1$NMJx!Q$((PNdri zF6up+6=%)aaJHNsXU{nxxE8^62!4g&dIUEhxDmlkt2iglnRDS>IX6zki4pu7 zLG1W%5!{L(cK8kicjDz|WYvgnzW60eKhD3Rd0=hbz`9y>b#GkI8N}n+zq$RMoRe{K zom;gN6{x=-*F{!~O%=FW!UZGv4ZlHGR~@D8&f!u|mr5EJ$>B3mD~DH`?_0STgzshX zN@-cw<-%IkYfyV2bMaiSRu1o@+YsEIEjQfE_u`V5L3|ZoQd`$j)zqiUT^g6lr5SgX z$z=)gy(EYC&fTpXUWNAHvQa+c$G87_)-=oEyh|!Hws>MDPrP zmk_*);0*-teyG-QlQ_IyEaxV3Q@E)J;#qJG!SlD&xXhu{SS@jUnyLoTgb>BBAL zaP9VgnOnJK+;RjjBZzZ?-!OB(dPg5_4Y&T^m^W}6xlIWEjvziN;G1FHhI(-vx0T!W zZ_L}d9o$X?Zz6aLLHruTtLKyUOH-nTaF;;B{WSL@Van~}_HVIh=!YK?+%bgCLGDob zhbI=js#>a+a|gM@M0f#y_l5uJoD4^~Q}}KYkNp^ToSVx1%wdaS3*18xPucSb-be7k zN^FW>xHH^Y{1Y1(8{{E^j}Uy){^g-Qz&!C*8HbCJLv*j3X2x;9VU4bGzZYia%JmQa z+E4Ah{J+Nocx=$_I(NgMNZm5-IuVX9*DE}5Bhq&2VqwFqR=k=wl0SB^fGT}(PMo4@|6Ue<9_G)A|#(MDimZDOMf z?B}5EiQgUP&?We#aUXgBerY@yzb_s^YiWdE6Yr*v(U<5e^i}#AeS^M5-=Xi(uj#k+ zU-aJ$fnN^`7@A=j2PTr~ji34+XYR2A{7%;gztNT9lqH-^VAI(={4TeeZDz;fSGeQZ z3HTi@-VfOs>`ZnxJC|LrWjC^4vs>^h-0$!^-0kd6{1O*$EBFoWP4)@r&V_K*__ge4 z?DDnTcid4N7bm!r+-dCobKC{|1okrb7~B3C_kw%Hz2V+*@40{Q<5$we!o=G|X_9VI zXwuhYnn|0vAnW>ID_X0c}RX1&a^&C1NG&1%i+%^J-{n0;>6 zX12!cu-RF&^JW*#E}7jidv5m9?6uijbK2a-Tx{-Z?r$zL4>X@-KFfTa`6ly&=0BUi zHUG!L&mzGhQEQQGp|VJ`$g?Q4D7GlIsI{14p|jX&anRy{#ZyZM%Wjt5mcEt&mU7D= z%OcA<%SOxImVGUoEeBW*u^eML!E%!26w7Irb1dgsF0fo=xy14(%Nv&OgaRQW?KSRrU+Ao>B3B5mM}-C%@bA$`wGVk7Ye@@o)cadzP6&Q zEUbi9)>gJw_Eusm4=XP#iIumNuT?LrPpm$(YPDKxwZ-ZitDRN{t$wk(VD-@IvDH(n zXI3w)URe{?j5TL%YHe<9Y3*t)vUa!jv<|dZSch0Et>dkGStnViSm#++S=U(CSvOb@ zvR-JtMr-}G^-k;E)_bk@Ss$}LZGGPQck7qd?`>!s&c@Wn+(u#}wF$9_vWc;YwTZXs zWs_l}w#l~1waK?Bw5hZiYBR=Wvdw&(#a zU)%1tJ#Kr>_J-|U+dpg{*gmy=X8XeSl^w7%v9q!BwDYy|w+pw6w2QWjwZkU?yCS|-`VZ3+hw=M?ttAPyCZf#*`2lf z&F;S46T3g{o@?#i*uArRZ}*SAmA$jQ+&AGnX@AWAg#AhT)AncV&)HwF z|JDAU{eAm~_K)qK+CQ^@VgJhhje~=OzeAcsZ-=Q4n;lL%TyfCecDU>ChrhJE@$CoccKNPE(y$Ic;}3 z@ASZ#bT)G~ceZqP)H+L?1Du1MBb}q1W1N$nQ=C(sbDi^?3!F91mCn`9&CVm7M>+G( zqn*b(k8>XHJj;2G^E~GT&WoIvIJY`4ci!iG#rc(swTp*Kl#9wG%O%Gp&!xbn+(qM3 z{nhod>u;|2T_3nUbbajlm+L=nz)j#ryRmL|ZuV{tZcc7e zw-7g_TX(kzw@9~Wx1Mh4ZkcXbZaHpwZUt^dZY6F5+{U=Aay#etLIg#Wh!L5H%&Ie~R9Sgo`UE)3BAI1B{r^LUA&x+5BFN!aTuZXX@Lw6^4rF)wD0QcGMOWc>b zFLPh#zR7*F`#0`e-S4_T@nAe`JsdooJX}3Q9_}8#9zh<#9-$s#9^oE|9;qJb9+@7w z9{F02LXTpPJ|2TTMtgkW@ukN^k7*t=JZ5^#_Gt51@3GBex5r+OeIAEBj(QyPIN@>4 zvi4hme*ac`(BT{ zo_am^dfCmlTTQpg-L`f+-R-@^M3N@Slw?ctB!!X^Nx7s_QX{FCG)ekMnk54zgC#>H z!zH66NHSLPg=B(cvSgY>Cz&moCs`<2B3UL`Az3ZCCwU-wEcsLNLh@SjPV%=DNCi?x zY9ck)N`+DzslC)m>M9jWJ*5(Dk^Uq-A${gectdZ2H{%`P9pN469qk?KUFSW}yTyBm_h;UVz1MlK z_ulBe+55crP4C;@cfIfX2z}gq#6BKA+HO87p8}sEpAw&PpV2;3eWv^9d}jM>_c`oy z)aRJb&pyw6fiLMx`Lez;-yXhEzA?UWzV*I?dO0JLiSJjw8+*lKepY@WKX*S*KZ#$eU!h;IU#VY(-x$AXelz@L`pxm%;djLEC%@x{lD?Q=zrV)uKyqY4+E?N!~q@w zUIEg8w1A?3l7O-RO~BZI=>fWcSpjncb_N^`I2Lds;8eg%87ZS=jLbw9D2tLs%VK1) zvJ6?KOfAcnRme25N?En6S=L`RK&Ble<7G%TS~gZTT{c6elg*MXlP#CE$yUm?$i9(% zEBj8iUv@xtPH zRlZEVT)slSS-wU7jeM(opM1akfc%jBjQp(pocx0Pmi)H-j{KhdrTmrrwft=$6UYW~ zfu@0uflh(Wfv$nRfqsGhfwI6JfsuhxfiZz;fti8Xfq8+2fyIIKfsKK^1N#Q<3p^Qk zG4OKW)xhh4w*nspYM%x^4}2B)Ht???@1TO9&x1AuZ4cTNv^Qvf(4n9sL05uq2i*^P z6!bLcnSxMI3RYpN5GrgG_6kRZR1u*lSJW#8DTXSBD@G~CD8?ziR7_M%Qp{4URcujg zRs5jXt~jPRr?{xNthlPU9vmJV7n~WK8(a`v99$7x6t6v5J`x){^3_hct~W(^pM3ND?(O>tP9x?@@>fXA=^WC zh3pBr779Zpq4H2gXlQ6yXjN$M(7vJlLkETq4;>LYDs*<}^3Y#HuY~>{dL#69=)KSf zp^roV41E#$I`mzr_HQLn3Y3h}L}{)RDs7bZN++eOQmph;N|ZiIjj|fQ1Zz}&qU@&} zplnfosvM>qspOSol;f0NDkmwYDrYEXDd#E|C>JYRm2JvZ%C*Y%%8kk$%3aDm%6(z( zVY0BmFhy8s*vzoju;pPZ!d7?p?H<-WynB!C(czQB=WD|khA$3p4SyCvM8F6^1k)p} zM^TTG9%Vf=JvR5)-D7W$eLW6Fx<&d$21Lpu6_LXu$45?xoD?}V@?7MN$Xk(jBL9ez zMfHe^ii(Mfi~2HZcGTRc`B96aevf(>^*HKj)br?==(OmJXmxZ>bZhj6=uOd^qrZ)D ziSdc?iwTGcjM0vXnHDo6W@gNso{l{wJ-vJS_6&%f7P}~RNo;FuTihRUuj1asy^H%h zJ~2KgJ}(HDdD%o z(8RdJ)Wr0}%*3q3oW#<^io~kKn#B6V#>4@M!xG0NPD`AZxImk@C~-+*YvS6(^@*Dj zHz$6Z_+8?j#N&zQ6K^IyOnj2~Eb(RHn3Gu5NvD&}Bwb0mlk`04eKL_uCez7WvURduvSYGyvRkq^ zxkqwUa&z*W;VENNzDSvnGAU(h%Jh`4 zQhrIfrs7oADrc3qDo7Qg3R6X>qEv~h6jhokLzSh#rK)AB6{=OLO{#6GeX5hHi>k}2tE%g&TdGH@r>f_wm#R0acd3F@^Hlp(uhf84 zd1_EiX30Qun7GPyIPndn)yp)U&C-rCv+DnR+|*Uh4hS=V>6#G|e&1BduGScbZ?CEG;Z8 zA}uN{CM_;4AuTbZAsd}v@>acrBmq^=?>}L z(q-vE=^^Q1=@IGi>51tn>8a@%>FV^}>C@Afq#sH@nSL?-cKTy&`k(19(qE^)%MfHR z873KK8I~DV8O|AA89^Bl8BrNMGvYH6Gcq%>Gx9PDGKw=wGio#XWem;uJY!16^o*Gq zb28>$GY@B;%KSC+dgkNI*O~7!|5gLF zKy9uTs%_MEYDcxR+Dk1{hp7|P>1wq)N1d-OQdg;K)eY(dES9YMpwv zdY*cjdWCwmdaZiBdZYS#^^fYG)ECs()Hl_4)PJZSs$Z(#sQ=Qc|IPwgWR@r^F)KG~ zc-GjgX<75LR%QK|bs+0-)=ya{vQA~4$vU6)Yu1&l-?MIH-Ojp~Ey!lFO|s3ih1oXQ z_SsI^uG!*j&umGyPqu%yEW1Z`RCY{uTsF#{l07YZM)s`iv)R|PZ)V@lzL(>h6P6R6 z(<3K3N1HP#XG+er9IYztiq~NE5GX>`hel56M@UY-$3SJk67seH47G@Xb6&4nj6qXg%6*d-rQrNd} zR3TqDrf^*0mxV_PPZwS-yk2;#@NVJ#!iR+~3*Qv}Rrq(2Wsy~pZIMHfb5U7QUD3dz z!9_!hh8K-0;)}j4np8BkXnK)$Sy5Zjs-m?;>x&*0y($(IGsPyw=EcHd>tdH;QL#s{ zS8-@@SaC#gRB_MZ(Zv&s=N2z0UR>N-+*Z7@cw_PA;%|$;D?VI&wD@@O$>Lv1>`TNY z0VRPY!6nL)@RA-S2_;D-s*<#lvXY9Ds*>80hLY7KUzhAE*;}%|WaFG z#)?lW`c(|57*sL2VqV2p727I~S6r=lSn*OrX&8-(#zy0(3DKl#ay12-Voj-5)2x}Q zS*Tg0S*%&AS+Cio*`nF1`9ZT?b6j&yb5V0yb5(Oq^M~fK=4~ZY$yRcerj?GBE|sE6 zkIHV9(#p`v*vgE`ipr|W+RBE?-j#hT`&SOC98&p3<%G&fl~XFGSI(@QQ#rqKVddh= z)s(3%B`ANrCm_9tm><(AFB3L?W;Oib)@QK)h|`&sxDSts1 zt&Xowt1hT6t}d(AR99EmRX0?(R1dEnRgJ30R!^*+Qa!zTX7%jq-PI3koN7F4d~1|7 z@inTN^crx0$2FsCzO0#4Gqq+$&Agh0HA`xi)wI>D*Vb&R z*->+(=48z;HRozB*8E;`qvm$ay_)+q&uiY*3UG~SKz&R7$oh%(GwSEnudLrvzqS5{ z`W^MV>wm02P=C7qZ2g7$OZC6iU#q`af4jl7A*i9GVQjB2iD-gNf+nU(-Bi|8(Nx(~(|b$rJ-vVIy}$RN-WPlS*88TR`U|1qw~4Lc KcjwRExBnmFr*@J6 diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index fb1b99f..12080cf 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -86,6 +86,8 @@ class ViewController: UIViewController { $0.layer.cornerRadius = 7.5 } + navigationController?.navigationBarHidden = true + UIApplication.sharedApplication().statusBarHidden = true guard let navigationController = navigationController else { return } navigationController.navigationBar.addSubview(containerView) diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 792064d..7e311e1 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -6,12 +6,13 @@ public func Whistle(murmur: Murmur) { whistleFactory.whistler(murmur) } -public class WhistleFactory: UIView { +public class WhistleFactory: UIViewController { - public lazy var whistleWindow: UIWindow = { - let window = UIWindow() - return window - }() + public struct Dimensions { + public static let height: CGFloat = 20 + } + + public lazy var whistleWindow: UIWindow = UIWindow() public lazy var titleLabel: UILabel = { let label = UILabel() @@ -26,12 +27,12 @@ public class WhistleFactory: UIView { // MARK: - Initializers - public override init(frame: CGRect) { - super.init(frame: frame) + override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { + super.init(nibName: nil, bundle: nil) setupWindow() - clipsToBounds = true - [titleLabel].forEach { addSubview($0) } + view.clipsToBounds = true + view.addSubview(titleLabel) } public required init?(coder aDecoder: NSCoder) { @@ -44,7 +45,7 @@ public class WhistleFactory: UIView { titleLabel.text = murmur.title titleLabel.font = murmur.font titleLabel.textColor = murmur.titleColor - backgroundColor = murmur.backgroundColor + view.backgroundColor = murmur.backgroundColor whistleWindow.backgroundColor = murmur.backgroundColor setupFrames() @@ -54,18 +55,19 @@ public class WhistleFactory: UIView { // MARK: - Setup public func setupWindow() { - whistleWindow.addSubview(self) - whistleWindow.windowLevel = UIWindowLevelAlert + whistleWindow.addSubview(self.view) + whistleWindow.windowLevel = UIWindowLevelStatusBar whistleWindow.clipsToBounds = true } public func setupFrames() { titleLabel.sizeToFit() + whistleWindow.rootViewController = self whistleWindow.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width, - height: UIApplication.sharedApplication().statusBarFrame.height) - frame = whistleWindow.bounds - titleLabel.frame = bounds + height: Dimensions.height) + view.frame = whistleWindow.bounds + titleLabel.frame = view.bounds } // MARK: - Movement methods @@ -74,7 +76,7 @@ public class WhistleFactory: UIView { hideTimer.invalidate() let initialOrigin = whistleWindow.frame.origin.y - whistleWindow.frame.origin.y = initialOrigin - UIApplication.sharedApplication().statusBarFrame.height + whistleWindow.frame.origin.y = initialOrigin - Dimensions.height whistleWindow.makeKeyAndVisible() UIView.animateWithDuration(0.2, animations: { self.whistleWindow.frame.origin.y = initialOrigin @@ -84,11 +86,11 @@ public class WhistleFactory: UIView { } public func hide() { - let finalOrigin = frame.origin.y - UIApplication.sharedApplication().statusBarFrame.height + let finalOrigin = view.frame.origin.y - Dimensions.height UIView.animateWithDuration(0.2, animations: { self.whistleWindow.frame.origin.y = finalOrigin }, completion: { _ in - self.window?.makeKeyAndVisible() + self.view.window?.makeKeyAndVisible() }) } @@ -97,4 +99,9 @@ public class WhistleFactory: UIView { public func timerDidFire() { hide() } + + public override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { + setupFrames() + hide() + } } From 2b1606ce178d80e3f25de47a98cc6e17a1b148ca Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 14:33:27 +0100 Subject: [PATCH 20/22] Fixes a bit the issue with it --- .../UserInterfaceState.xcuserstate | Bin 33615 -> 33044 bytes .../WhisperDemo/ViewController.swift | 2 -- Source/WhistleFactory.swift | 6 ++++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index 3bda022c0d14c98c19aea98598d74aa274c62e98..d2c5d0b54e9d8dcdde2cde5425fabff90ed49183 100644 GIT binary patch delta 13669 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 C;2yjH diff --git a/Demo/WhisperDemo/WhisperDemo/ViewController.swift b/Demo/WhisperDemo/WhisperDemo/ViewController.swift index 12080cf..fb1b99f 100644 --- a/Demo/WhisperDemo/WhisperDemo/ViewController.swift +++ b/Demo/WhisperDemo/WhisperDemo/ViewController.swift @@ -86,8 +86,6 @@ class ViewController: UIViewController { $0.layer.cornerRadius = 7.5 } - navigationController?.navigationBarHidden = true - UIApplication.sharedApplication().statusBarHidden = true guard let navigationController = navigationController else { return } navigationController.navigationBar.addSubview(containerView) diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index 7e311e1..a470da7 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -101,7 +101,9 @@ public class WhistleFactory: UIViewController { } public override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) { - setupFrames() - hide() + if whistleWindow.keyWindow { + setupFrames() + hide() + } } } From 66ce2398aa726709cb258ec59f7074a246c41dfa Mon Sep 17 00:00:00 2001 From: Ramon Gilabert Date: Tue, 8 Dec 2015 16:23:08 +0100 Subject: [PATCH 21/22] Make it resign key window --- .../UserInterfaceState.xcuserstate | Bin 33044 -> 33011 bytes Source/WhistleFactory.swift | 1 + 2 files changed, 1 insertion(+) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index d2c5d0b54e9d8dcdde2cde5425fabff90ed49183..c9720a8fa87bf861506c6b4734242f5da8a8b79d 100644 GIT binary patch delta 4595 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 h_sbrZ^_S Date: Tue, 8 Dec 2015 16:34:30 +0100 Subject: [PATCH 22/22] Fixes the rotation problem --- .../UserInterfaceState.xcuserstate | Bin 33011 -> 33725 bytes Source/WhistleFactory.swift | 7 ++++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/WhisperDemo/WhisperDemo.xcworkspace/xcuserdata/RamonGilabert.xcuserdatad/UserInterfaceState.xcuserstate index c9720a8fa87bf861506c6b4734242f5da8a8b79d..89e2f78be7be199aeff59c3ca29ff0beccc41904 100644 GIT binary patch delta 14886 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 UjO_>;0NY>gDBIsppS`C4KPdM7_5c6? delta 14349 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 F{{V3VP09cO diff --git a/Source/WhistleFactory.swift b/Source/WhistleFactory.swift index a098b48..9d00f1b 100644 --- a/Source/WhistleFactory.swift +++ b/Source/WhistleFactory.swift @@ -90,11 +90,12 @@ public class WhistleFactory: UIViewController { UIView.animateWithDuration(0.2, animations: { self.whistleWindow.frame.origin.y = finalOrigin }, completion: { _ in - self.whistleWindow.resignKeyWindow() - self.view.window?.makeKeyAndVisible() + if let window = UIApplication.sharedApplication().windows.filter({ $0 != self.whistleWindow }).first { + window.makeKeyAndVisible() + } }) } - + // MARK: - Timer methods public func timerDidFire() {