From 99edb3f34bb4116be0af6d5eff8fa081155bc17f Mon Sep 17 00:00:00 2001 From: ylzheng Date: Fri, 25 Sep 2015 09:17:46 +0800 Subject: [PATCH] refactor code, and update user home scene --- librx/Base.lproj/Main.storyboard | 143 ++++++++++++++++-- .../Android.imageset/Android@2x.png | Bin 578 -> 1645 bytes .../Cancle.imageset/Cancle@2x.png | Bin 587 -> 1701 bytes .../Home_Selected@2x.png | Bin 679 -> 2052 bytes .../Lightning.imageset/Lightning@2x.png | Bin 814 -> 1868 bytes .../Lightning_Selected@2x.png | Bin 927 -> 2622 bytes .../Images.xcassets/Like.imageset/Like@2x.png | Bin 1055 -> 2450 bytes .../Images.xcassets/Menu.imageset/menu@2x.png | Bin 648 -> 731 bytes .../Music.imageset/Music@2x.png | Bin 855 -> 2096 bytes .../UserMale.imageset/UserMale@2x.png | Bin 816 -> 1823 bytes .../action-comment@2x.png | Bin 1208 -> 2124 bytes .../action-reply.imageset/action-reply@2x.png | Bin 1354 -> 2081 bytes .../profile.imageset/Contents.json | 21 +++ .../profile.imageset/profile.jpg | Bin 0 -> 5210 bytes librx/LibrxService.swift | 61 ++------ librx/ProfileViewController.swift | 21 ++- librx/WebViewController.swift | 7 + 17 files changed, 195 insertions(+), 58 deletions(-) create mode 100644 librx/Images.xcassets/profile.imageset/Contents.json create mode 100644 librx/Images.xcassets/profile.imageset/profile.jpg diff --git a/librx/Base.lproj/Main.storyboard b/librx/Base.lproj/Main.storyboard index 8284952..87719db 100644 --- a/librx/Base.lproj/Main.storyboard +++ b/librx/Base.lproj/Main.storyboard @@ -138,32 +138,146 @@ - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + - + + + + + + + + + + + + @@ -171,6 +285,11 @@ + + + + + @@ -559,7 +678,7 @@ - + @@ -1005,11 +1124,11 @@ - + @@ -1017,8 +1136,8 @@ - + diff --git a/librx/Images.xcassets/Android.imageset/Android@2x.png b/librx/Images.xcassets/Android.imageset/Android@2x.png index bc56ea2fcc7de041a33c573ce14f687903609a45..216507f4b1b10bd80d1fa5b29d939f021a4c2382 100644 GIT binary patch literal 1645 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-#^NA%Cx&(BWL^R}oCO|{#S9GG z!XV7ZFl&wkP(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@WME)f>*?YclEL~m z>U_71t4Q6|{b_2uv&}v}QB-PLbnL(+g^4jThMkWbH#_-NeNy-*$vf{8JBO0xGck{8 zGA^Ec#R5VchpIZn6+2jjru?;(PD|gl`_%hT|Fd7-Y}rr|(f1He{?t&Xp&=ve`nsJ<z}Llol^6jb!(N7`;;SwjXei- zt|zm{oL4^oedYDHrBj0L-`QXLTFSwqG&OL;qsn#XSv+dK{IvEuap80Gugl+}uDmT> z8o%26`uDYR*HU|U6B>P-IX=qXzM$eY$C)pC;kBHtbHvI#c7ECTo?YGSTKMGa_ibL9 z+wb);c2C#z6nen3coB2U*mhCsW$1P`7zBU6PYK~NfwE7`QN%NH|s_6gKV2Q+Ll`X zu4-}ax&DZKmWSxckjeu&N=friOxmP`WKNbFSPOAE>2Ck7acNnTh*q7N_}%!eoe*vn$&G8rRL~^cmL_z?AUqk! z4L{{+7jG$AzNS-U$Cs;Z<<`F}!&fr&K6}G75yv)0-7%m4MA zJ=f36Zt?L$JtuGED2G?JpSrTvxN6 zv_3vz(f8!nE3SE|H{H(j_y2roIxR7>?$Rrf=aV}mCU3mSCTw8VJ;9JO#zo91v+~zo z?)kN?Hva{u-f26ee))-Y^9*C5ub=qVD#@>$VXN%sZlR|dc!kk;^`{a~r5v-|XY9-$ zYWM;z`4rNw9CuDnI=l1e=V!6UxBAP@Y!`GdlQin?Q_g#Hk)O?kv#d;@W#_Y{kr!Y5 z@;felCUfP?DId1&e|u5#W=HF*D~pa^bNUw3b3@|lif?aQe+2rLd2c9wSp3&`xz5a5 a!+-pyX_t3fTuz7w)d8NaelF{r5}E*RmBe!Z literal 578 zcmV-I0=@l-P)A(Us2EoLa@EuIV#CPx|OuUmAg+i}VkH(|2RNuh*3dU@V z@g#xcm;)~1r)6e$_TRnTnJ>FcYyRUkA3s3=tbjFFAk|Nx+-SB$*k^BSIK* zE%2PLB!1(zY5_|1!wxf_X@Z#7S47SS{hQ9b{>D!&K)KO+kIw#fu|$>K15Hd5eV-q0 z>1{ZO{{P|k+$~LKX$T}CQP=jHQ%xW5y0bQA>^}XTtGcGIPK1(P zmrqlGOk9^Y4<>TCk;lx%BvYrg6_H^WTGf?5m@otRc``F{mL-B2yk%MKOgx#1&Sa_H zY!k70H?)vPQ$*wuNigVl9qkJG^;ho!X$7*Xb|Ap2l+Q}PSOHm?iB-k%4N9h%P_D+a Qg8%>k07*qoM6N<$g5uo&b^rhX diff --git a/librx/Images.xcassets/Cancle.imageset/Cancle@2x.png b/librx/Images.xcassets/Cancle.imageset/Cancle@2x.png index 102e2b563129872b0f7b8cacaed75b9b8dc71662..36938cb136cdf8c417a45e473730371090ea3484 100644 GIT binary patch literal 1701 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-#^NA%Cx&(BWL^R}oCO|{#S9GG z!XV7ZFl&wkP(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@WME)<>gnPblEL~m z%GY1SQDAO=EK3T%)WO}IQqDYF68dU?xGr{xTUHrNY!08cn!QKP=8>z-i}ea0lUhWR zIs%2?FS^LgVqcbitZHv;^4m9h#+NT^ci!~l*}U5}^y{n8(DKsP7Jn~(ceu}-Cf6Zz zePx)fdRL4wquBi>-cw?mR$j31F_0{sev6@r^Lpp8?fLyX>`#53_x4h-H^44VeE1!cxFR}|fJ$1p^o+td=-krr! zjSUa#O}9K=aGQUz=nbaXOL{L&DLX7CuI$4geDK}+sLC})kz9MPc7}7O|C5y9WwKhh z+s4d@Gdf|iQQYkc1A*(k6CT{2d^)<+e#gJxr{BG9ym)Hq1`)ftH?Abii~qV*VD3VBB^CorSoK*P+N;*F!bsFFc%n$nvSi*^pU3O57rxf)pQ#UkUz`ws79jEq_vH zPAS*g7^!whQ~mZ$Tg@4r#ciu+dS?1HIh-i+V{ma(yJ2{<@d0n_+6TI!X9d!D+79!u zE#b{g*>q&pku)J;czH5%2+;g$?U?j{%_8H zvDVn=csM$=Q}?jvf4$miUoGP^JXh{Hr*NiX?!rx+%#URmcpfV@XbWg;WZ9!SN8xh8 z4C6ywg6~Dn$L>92IXPydYIPJ_x5>|F8ICPn`Kw(gKc075!#DG0Sp=6l=M6pqk1KJ# zyvwq}?%%xKp_DFWzkA*1Ib|Dzv)&(J;C{lAaw?IZV+mKuw^1WZqyW3%buW|9euXlqJ4%%B8w61Udd;fLdiYIe4$3?3HC*$N~XS&rX-2BM@voR(7tYm&V z!<|bT4tFFx+Hfkrus=gU*4p~sQK9Ip#V4&9qS7z0K9arK*>tvPv4rw2ruivO- zXBP81%rs^?{A8Q*+Reg$d3M>CE=b&X*(AATZ}z2|A9qjN{_&?|qBBF2U&xh2mw9_9 zC#c;sEiO*Gl=;fw47}DSrGGD`3AGG7$4(h$;9=IopMurTYX*`*s$2ln7E{Ai_q;?@88UK zVKlI1d2^1V+2dF~|Ext4hObRd96skzaMxA+(~gvbe_7<;9%pB*a_#5c@Kd3jTPCeU z>HdPpx1M#@T;8_iRGESl%evhK(XHL{;9Hv01BboEr_=HBSW z=W9&&I#jRL>7F|!?n|WcExs~^~ZIv_7GVb{Ki3Z;ply2I1e&t;ucLK6U=(bPEr literal 587 zcmV-R0<`^!P)ToQ5C!1zfmk*B_9jhkkesBsLFi4|Jza4iS4ORbP^f?A&3ICqRiwZ$@3Rep#8Km$ zYdk-7fIb5n7wAi%@d?l`f=NqYn9etH^f^CW$48hk!`Jypo}TB!^%Uzj3J}6Oa>r1} zJAbl{5W+j}ZcD%9#~4B!U{%mM!a96vuTg+dsHAXg>Y=|c?J)_!IznmqkSiI$Dgq~b zHh?t*ZulYqD+q}2#Q?PtP~lkswGfcu*#O!I=QUuNL;sCh_+Tm3IQW0u|R|AM4)C#W(u!pcT@$(KZeAa&N znDs&=G|1hyqrI-D9bSC~{D!@UP$PT?$bBcso&NW(15GV~dsq8rE`opE>i+$0FePBh zK8Pi_ts#CJ%n6pWFA75xpd?VqF&qpr08S9jvAGx`0EhsH8YviX0A%CHT6-8!0Evbr zYOXP00FsSL)`kE`Hn{fyg?e~m189VoL|_4EhL=Jp2B;BU0-*??W_UD0Hh_ijNQ5i^ zOW{!n$p99^BM_1REQjYJL;)TlJO?2TFkMDR^jhObin;s3mXZynO~(8Hrkb Zd;>)j%3oBU#XtZ6002ovPDHLkV1o5C_3r=x diff --git a/librx/Images.xcassets/Home_Selected.imageset/Home_Selected@2x.png b/librx/Images.xcassets/Home_Selected.imageset/Home_Selected@2x.png index cc81b054c7e0d17462fa6343af1eba0668cbfafc..596d031bf69ce6b27eab0c1047e3f283c82424f1 100644 GIT binary patch literal 2052 zcmY*adpr|dA0K71nOs()#hRtd!)8~xjA+9OvDhCY3pT0TXz*No_y7P{Zz)s&xp`}p1fLKuhJfMbYP~-^ z48>xH2Lz&`!gxwH0AL$stz3o$3Rv){uuv}FI*Nq&&ahUlmtZsk{+%K?KteFwJmA~I zBLd+B6dq-Pumi#2aN7uWkTs3$^z*uMM?wS(1UzdrS|}8vgg8`q1P6_=va&*3V9{8t zxsqYdKg<=dqRhE`lOH1g(IE%&_eX^A1R>#E_>wLwApDSkgg`7A{Te^sDF_MruM?O5 zvn*wS=%o`h24#W%rLDYbyM$WriUh-pd!8 zpLe`2b=w|GU|;^GB)i)F{NpciR(gO*!U5`>0NSZO%%cHGd7tNx=* zd1KDgTO^l*vDYCUtDQ?SgUhBF1<~uA-{w*z#QB-WdM}ZfTliRIvnAlulSyl%Ot5QX zV+%sbRl978=i906QPhzD!QuI35;;t7h^Vg5FI}0Gkr;YP9BafOXfb2-MQvGg`Xu@h zf5yiQt%+gjptcE3w6p7+F)WfXmOr+)ZObvuN%kRwfsT|Fr69`T(LZDT@)E^uCHvod zdlw?Qp?zjgq8IkuSPi~CNcEoG*IXaV%^x^)spwkXSNn#kzL3vPF5Ksi{G)g6buw~x zC@cej<-1R=7iFBW9I7rpE5mmb=(v5@mkrH!x9RE(eJje(_%KlD{%8TVmX_3(?1M2T#0^)@G1Vv(Yt$_ zuO1pk=CU6(!UWm=RdJMxgaw8gz6PJ{+oE^Rm1eq4m2gpV;+2a`i(2Hk7>`U?nGID1 z7S2L6@2a|Lryi&^z#z+>rstDBTaZ?_)C2QB6zwUICuez0wDu_MJhx7c8whUt&vki- zqvfqL_v48*4fDr0sIK?5OT+E#0?Ukgyp4C6lDBx?8Q{6gSR(@S@~aK2#?`A8#JEw{ zyy<70&jBB@3{csY+zxi3qT3#lXblv&LdiW39g63%Cj@Zwb5^^&47a9D)jsc7TF zF0Y={ojj_dZpvIH$&zO2=oU{epHl-%l1rr*`{XoSq13g4t-iZa6CQdZGCcB_+KZ(@(A z0Ws?>(R40!A~ftxTV})GXMK8Wj$g@P4DJ4i89z|5Fq|A`Y;KP@(^Omu)BEe82BJ1) zoX|koi?zUv9~)}5*>t6HR6oZo;o3wtuRea%8JT$|(o%!uBhYmnb4K2CXq#!mnplaZ zTch7gGQUT6cT-_g3%TOo*L}Q&fGz|F4mRO8?D#S=3)`PK7dKmd-g#4J z#!h4yw83t=V(>`t<+|Wa{O6vp49#;qQ~rHK+D%38UB-T-b;Z@>-g4e$nf18|K744Sy~2)H$rXNrNSq4w*v zGo|V4wqO5zzxQV5n*vkC53aa>QUKZk6(^uWpyCanlVG7kp#JFhqYj*&1>K@Lu`mFU zc_!{e#)agzCEI)LMme^Fz) z!_BW-VYU#udT9ki44RqBDuDWv-(lh9QfGPyOLux2+?rmWbe%N-d6-}Kf<*{c0Q_9z zlPZ9ox0Mxg2Vleex)Uq}rrZF;1st@(s4nlolna2wfP=b2bvXv6%mCnkgPKEiIR&On z0MZ8>)E%nJ9+->)mM|=k#9-xmbQnwIkqhFE~09q;S038B42V|NAh3HvCd}PQmbHGF=h<1}^Dr%_n<0=gN} z-Qd=3hY!d8!EVUWzc=@giR`b&;b!RL)04(qGk8bd6aFe3-K_rTUlMW87LpFWvZ5qcddK}d;#>+6JPFni;(~T N002ovPDHLkV1k7zC=UPt diff --git a/librx/Images.xcassets/Lightning.imageset/Lightning@2x.png b/librx/Images.xcassets/Lightning.imageset/Lightning@2x.png index 0e3c1097892fe8291ce8c4cd3bd0a752ffb2d0a3..3046b578ff40fd70241f4a936b6d3c9444b64d43 100644 GIT binary patch literal 1868 zcmY*adpO%^7LL}XOsnG7))eVahi5E_OKK{TnB^D5CGDU}Tti$k73}AWilI~CBr-iZ7S5$IlxPS9%|$6)YAlNc<5H7oOcWObd_bU-zAB9XU>_i? zL<|t@cO2$UPl<&cfg|B|09FSEgP~K%aVUS#<5RgZ!T<>@76XMqa5x+|#}Q6XiAUHw zJ3Axn91so;wn~I8lSgBbxVAK=#Yd9=@PM(*m=p?wMWNGRDqd1Foz21kfJ*4|`q(Fn z68B#v8uQaw$^j9o8-zXF4)K{=S&CL=QO8m!u}WnXKh_@o0r`KqPdaFXO8kGC`8er^ zta4PW4jS?K*|0jk53NEV5RD)4;GY8%GzLq2_@+3+toY?Jdl{Hr4Qh<@rO;%fK+qFu zefGPZI+=>ei1FsaYM6C1R2?ciuNSTjKON;{84ZJLszW`HGOb;ixt71>nyfrpadnRO zKOo(Dy^v3RaCN>Gd*a3Wz8kl;92^}7D0kWxi_+WQn>l!7O)Q`;3!m>*aJE{nM4E)x zHN+jkh3<>u*e^L%ptQrx?@I-M85Mtd!VC$*}G z+b+|DhB9fiW#Xdky|g=;{qU-XnG* zhw1@l;K*h?z3&WuK?65CD)wrfec+iMaL*}PcsJ+q@tHiEHjCXe>wwLud*xd00`g&h zLW;4M&L+0A4+Pi_gQr&^Pmd~wi;6;eVmn8GO1Ap84!;^J?}3cwO+@l%i=TShwlv~o z^Vf$LY=zeQVtVclCKbN+J$3TpPCL)WZN`^iLskYoTZW-Yt2>qs2>)U*ZVoNmZp<57 z3h|nj(&!z(q}0W!;SE!UQh~8oJ6EYE6E69aL=+Hon`D_`Ci9Hd9Q#3n)+AJPIiY#n zqs%!vJ^h_E@Y2P9U20ah<{Go+-83Q>CQe=}Uz|wi|MF=1PocszM>!fN?d9|W?JoU?rreD9VFLF{7`dVDBN+03QUmY+r9P18v z*@iu~;g_yiY1{0}>fI_S;m_VOwem9;505K^CQ)Y6QvBH0mNi6`8Sol6u( zMbtK}C;1QH({(Rq<~paE@_xMLDe$V`-kj)U$o7fkgynYk@5Psluf>ICba$oqbh!-u z9uP6jLGkg8NWZ@s`-$DHgAl05(sLbM3wXVp;VZ=kEFSw(wPECt1S*kY#X~8jtY^41 z@*L=$mj7fxSHk?-C}RBa&~}IiQ7jBOrH^wdznyeCo<|^#@6LJdzy~FZe%CeLkQMFi zNI;KkfA-vXU(DFqg zDo@wCqqBA$Jsk=BbyV~9(6HT4i$UM;yd|!`t(zI?CSt^ye*5`bx6(v?yS2tHU_)>= z&UfM`$6-lrw#=1qI8_`d@0R;pqX*;x z^;=`TnW^*u@0#~H321kEi*cGF`PqHrh@qCjDhjgs%-B>GVe?;Be47%zV7K&SV5I)_ z4FlH-rwiO@T556qQky_<)Z@OwTti-oB}}l_>7vK?1V;@)uNqAL<{79q=?LBZTgpb0 z!JCZaw~IA*r@;CBfyf4zx#G@5#kx;VU28eor!F!O>@OeSNHyLpfzi09Ffj-aMd4$d qyL*AqL&iu^PQqiM~)%QDIndjBx?(FDLeQ|gk0jzb4%KQVUokB7I literal 814 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%0A+&v{$KI6I)bpv% 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 I=H7|_29S7B^8f$< literal 1055 zcmV+)1mOFLP)73!_w@8MVaI>8TR*~Rb4Vlrc<@re z?Cmz5;cgWK5Ohh0)n1Tt{4_cN@l7nl*Oo#L>i#7)z6gc{{z3sTcik}VSJVp=8T!3T zTJ_v(6zii~0Ig67kp}PtigFsphCl#V9|>iIQgVNcJ{?w%7DDHge*{ro?n0)tbJD6^ zKe@gDWM=$IlO+@6?!2d|z94u4U`5{PqeR;KYyh{d4|J8m&f7!^ci21fI+45q(1(9g z1)*%MNhqDiq}4vVC$9mp0qQ3-K+3c=SMUH}8+U&hZr51g0KhtfaW4hyyb58Q+H(;% z09_Ey@~XQOy%=|NSY75CP5|`b-|Qp56f;r?;R$KAj|%}V07jfba$%;DR$bb?{9~oO z{8$(((kQCX(IQ1I0a)eZB?ETI1=PkOEiQwgJ(jRO90T+zO?=7!Tz)03HZR|~DnhIe zI{^L2zY%FPFg*K>p6b@sJ;*>v&u`$#ch4TPsr zaq5Mxx?d2qp)TOKEENHS7{*6-fx>_g)A&RHn2AyznUKKv!~j_7a*h(EgvO@=V18%F zrhg#Tfxwrf)jF}J*apW6f?kVQeM3fXtu7iXGsTO{CKgln-;4 z%ova=KxVw_cHK4tz>*DC*J;;3Ht;K$F4CUuVY~ir0N7%KI4NAcf!u~-bYvZGQ9;-! z1DtO0Qi1ViwXiDtttgGnQH_c-?%e>0qhyw2O8~M&w+OOJ1{7hJvedC;K$hqhLH5ow Z;6JE1k5E375q=Z`rLj zYi-{{+xFKsYFk2xG2U&D+Rg+J@_)57a-N#pi+~7-05btCzs%8f)fRHjH`f_-at+Gl1B00000NkvXXt^-0~f`_Mo A?f?J) delta 218 zcmV<0044w11&9S9iBL{Q4GJ0x0000DNk~Le0000i0000i2nGNE03L)|0kI*u0e_iE zL_t(o3GJ9s3V=WeL^Is4uF>J63w4_)=?ZF0Jz;-m+^2{*O#}oW&`Q8=x4G5vZ)QPw zRr<8K`>B+$o7t|Euw1Uu!|@0RKmY U*+epdMF0Q*07*qoM6N<$g0yW_H2?qr diff --git a/librx/Images.xcassets/Music.imageset/Music@2x.png b/librx/Images.xcassets/Music.imageset/Music@2x.png index d29f718ee5f09cee787f5850f8138c3b903ef2c0..b74c391a7fb720edfca4c596d36fea8ad552eae1 100644 GIT binary patch literal 2096 zcmY*adpy(s8vjZzjpUlkTCF9KY%U37h~-kbW<~3iVHh^Ejg6n9XfAWhN-3B6mHQ6s zN2J_hA(ZQ~^pjFZ$T;rhC%>sq=bX>$^?W|h^L*aV`~5the?BZ%XZ!6S4G;hT+Z`Ry z?xNFh)1)Ou`);eG3eh1(b+@+xxZS%ZMZq?*gBKM5WRx~d49Lz^69K#k9-cH$r;|wE zP$C@X7wUtDGl*mn8UQR9NRdm#({NA*F@!`#GElJZ2&Bm0Oe0{>?+{ur3g+qL3bhTT z;GxFw!*G3=B?tbvfEOum@>?2Md`JFY?x&6gVpIHon)xy5_pE4COOOTP z*RxrIPVx?T0e~dg5q;DnP-4c*DZ~S#Y`M~CVnifhG6WBMIc_j^iGf>cTSjGXiMi^f z6FMzh6;<2R!dm6?;pc9)r=xAixB~D__+O5+B%!j>VdLYME@eJEC0%7xoENzuTv~fO z?HhE_|Lw^DN!5m~ycOZb$}qLNVWK{{tY`q@IUH-=D1N%^_=&SaP%Qq~ONbN(0qiY> zI5#*LhXiO#?C*4@2}5hjfJ8eofXC{}}9>6-huZ9Kh58?pomE=TNi{Ec9=<$J=L_n3174+Z*e?FCrZ)gP@2sB;^SZxSPiIH@ z8$2FWcDq7g%IEg$yr}9{sFv#~{&#e-_K_USsp87@Iu~$Z;@*mPFH34uBQE%raN@zv z%)lz`@f7ww<5pP8-3r}|$M=uzkI>3|Yc@HN^5?*lD=XW-#pjR6O6E@0Qr-vbzXh8q zx$0+1c*@UhAVau`d|lJ(L+xHASyqI3%ZyrL=RfCnA6PnTlY6CweNAb7M;>H$PxLiS z=XSZ`UA;x}UeZ9*&AAafaYMuQ*SUIMH`I2x8+n)2)xKGl!tL#;q!ypc1Gn{mpxGw@ zk}g_S?EIweU_BS(K~i`!9jdJXLz}w-*hNi$Ma5|v*UYEGX1mN zShgLrc1*kLnr?C0Tl3d{QYN|4!tq?4kUY%SZTbvl`g8H%s_C(#Aa%@`$`x0BlB?Ag zPlg5_dnC{N6PB0= zwq-Rz+|*aGLt$de>AN2%z+YTs5p^w5`&j5wVNtZ`(?=0~+Ni8A(w z;3jG99}2U$x9ksovSzjHnbhBbS#UZ8g^@gVLhGf`mI4UddbB0B!*}@;qLgm(NbKospbpV;dhcF5~o7 zsI)I66;@N-_CF5De7kb`MS;?Jlrbyea%Q#q_4Vjli?S)~sQfnT`w*)L1zekI`Q0ox zJq7XV{<*Cu-ClZdh%t-MF#7rLW2_&JRxaftZ(^2oa_j$4D@3;vi5 zKxM7PfTRki?cx?Nnmp%4hGP+Zaqv#k`m%2T3dq0H2EJYNU`|cC$({&7PL7qWte3s0 z2X|py2;O;9A*!Dkz!0l(xQ<*6A@Nz=TNtacvnuk*-QqDdnAHinExY%do%-vccSCa{ zd-RMNQ{r94qbP_Hxz&Y=Hf>4|jb1lkjL-VUsk)N#rwT>{3;mZ{Rv}sN4Lp7Thw@FQ zoi~qq;HD{EauBx5+K?(PKGZ>a^a!I90QL|nBu(RJ?XfQ+7r(R)2u<>`(o^F{j~`Wk zzLBF00m1+b-=sS_eAaeSUenfl)s=z33k-bwIEClwzyC{#D{PvQYk#sQ=weS4W;|;1 O8+SbBjON;S$NddFpRb4j literal 855 zcmV-d1E~CoP)HV!L6bxQ@NQ+WL|byz9~AEyBnE&N_LrOD2NRd1lt~&T2Ed?D=`iza zNnO%ri2yJxRQHI<%lp8egaD{GvVA&LLa_%htNK4xg~{5-9>AbjsWI^ZfC`brKvFD<6sYgU*C9KElO8_O$U?#@4Tm9)Lo%Nlg2GC%?#aq znG3fRRrvb?;5i3<8H#%KeFKSJg5(cx?mvnmewSm3#s))=q)>+|!1L8u7-TZN5);rW4MbFPS0B_pKuCO6mTDQX$t^6EUAOPlr%??Q3`}v2X0q6;cT2$@t zyW%5I0F!9A`6&ybbfaT*4!|L>V-dGjEj*M6(96QrdIcTS{~`s548K$3N{Zi%?7o=}7mp%hl29nrgccZ#cEVVFFBe3nun-1=ibf!!qM~%8^mQpT0z%Ko$OwT%Ay6nC z0YZoVE17|h)*;i?zLEUHg9)Ms(1=t9kwS(FdGV(x5e!opOepkYee07!4E|S%O#eQX zU_gZM2BD{mMEu|ul$r>$XnPtlNT4j_H`6ouiu_;hyN(G$DE^;jzD@cyD;U*G(ggA2 z*~}zuyVN}ZK+MkubKE6F>_hR1EN|DJdS{0q7PhbuIkjJ;dQw+q_v}ql^@oYepGzXg z#Q{ZagZ-(yhEk`y5;gK7tQA7{JxbM(mBvMT+H7chECMMtQ&Ur%C4$LEIoGTzA8moY}WZUtoWylkSu+`&US~y$FrpKXh5&@ zqhiMg%F7+D3_s-EbM0*(!P=9U$wtpN>%j8-^z`)9NO~jBLNVL+=k*!Mw)Amh?U7NQ z9!L{0c~u#oJl&oDE+x43OsEZRS>_c)S(5FLIfMBCw4TP~i(#qLBC3f6SJ2P{3poQl z9~!H2vdfrNZY8J*Ebxnk!w9SbsOgK0Uwo z%jY+a?2{U+3A=uf@HPV>h8S+%)4E}`1-_kNH?p2-P&wpbMC%Jba{543Q%gMalYL5^ z+nsE+Oiy62X>~BTu)S@F@nw0A9~8-Am%OzEW91ew%i2nIxY};qAEz!e*_JWycnC+sCNAdAB9y zk3ku?qGD8=u<^)F=^9Z!rn_jy^33OPxlw8B%S>jU@~XspG&-)`xeh}!AFz3=?$&Qb z!fxyUw`FS>c5&9O)_SMOoMOuK;@&A zK(Q2l6^(_IQ&{Fo+E)4N)y-B`gPso>)~(^L+;Di=o0aq?uNy@uxue0aGZs@1idV^0 zZ%M4TJsUs#i5ZoBo<$JtczL6*i1(#QLmn=>vvYNWE=!1fxK;-Bmo~hmvNqvGX*~Mp zAJUOiybN-{wOHTAlU;mO&@50(@vRsWxiZS}OmF6&>}}jq%2{`gXyO?|)`)6OX`VwS z%8tP%#=f|1)o~+e5II^Ur}4A;j_{-k>xE{=H_rW#kF<+9cXi@s+eZ&Qj@V9EfztE) z?$sMC>?JwhVygY5Wx<%}ZfNH3zhlNF6ctT^0(qS$PtTp7Z-bP8u_cGWDL$nxlu07f zi!~Ry!mieO*)s-FoNMyYJ~0szwCMA!fOTkSO`*D;&15^PsCBJWgPbD!6GJ9azx4In zkGz~!;ap(v$IoX4`f*Chf)1==;ZKK|g^ zSLm^id6lMxEi!I4vqlA6y0K%4mgyF*%=Wh=OZyZrf787wnu~=ns?u;mZo%1+o{A}X ziD83P8TT087S>WRw{@8JG&sYY=1CGq9!1(_btdRlL`Aa0emN-owQMYLn0j;nq`v`* CcQa1_ literal 816 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 literal 1354 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 ()) { let urlString = baseURL + ResourcePath.Explore.description - - let token:String = LocalStore.accessToken()! - - var headers:[String: String] = [ - "Authorization": "Bear \(token)" - ] + let headers: [String:String] = buildHttpRequestHeader() Alamofire.request(.GET, urlString, headers: headers).response{ @@ -84,21 +78,14 @@ struct LibrxService { response(explores) - } - } static func postsForTop(page: Int, keyword: String? = nil, response: ([Post]) -> ()) { let urlString = baseURL + ResourcePath.Top.description - - var token = (LocalStore.accessToken() != nil) ? LocalStore.accessToken()! : "" - - var headers:[String: String] = [ - "Authorization": "Bear \(token)" - ] + let headers: [String:String] = buildHttpRequestHeader() loadPostsByUrl(urlString, headers: headers, response: response) @@ -108,12 +95,7 @@ struct LibrxService { static func postsForIndex(page: Int, keyword: String? = nil, response: ([Post]) -> ()){ let urlString = baseURL + ResourcePath.Posts.description - - var token = (LocalStore.accessToken() != nil) ? LocalStore.accessToken()! : "" - - var headers: [String:String] = [ - "Authorization": "Bear \(token)" - ] + let headers: [String:String] = buildHttpRequestHeader() loadPostsByUrl(urlString, headers: headers, response: response) @@ -172,19 +154,11 @@ struct LibrxService { } - } static func likePost(postId: Int) { let urlString = baseURL + ResourcePath.LikePost(postId: postId).description - - var token = (LocalStore.accessToken() != nil) ? LocalStore.accessToken()! : "" - - var headers:[String: String] = [ - "Authorization": "Bear \(token)" - ] - toggleLikeOfPost(postId, urlString: urlString) @@ -193,20 +167,14 @@ struct LibrxService { static func unlikePost(postId: Int) { let urlString = baseURL + ResourcePath.UnLikePost(postId: postId).description - - toggleLikeOfPost(postId, urlString: urlString) + toggleLikeOfPost(postId, urlString: urlString) } static func toggleLikeOfPost(postId: Int, urlString: String) { let urlString = baseURL + ResourcePath.UnLikePost(postId: postId).description - - var token = (LocalStore.accessToken() != nil) ? LocalStore.accessToken()! : "" - - var headers:[String: String] = [ - "Authorization": "Bear \(token)" - ] + let headers: [String:String] = buildHttpRequestHeader() Alamofire.request(.GET, urlString, headers: headers) @@ -222,14 +190,9 @@ struct LibrxService { static func createPost(post: Post, response: (Post) -> ()){ let urlString = baseURL + ResourcePath.Posts.description + let headers: [String:String] = buildHttpRequestHeader() - var token = (LocalStore.accessToken() != nil) ? LocalStore.accessToken()! : "" - - var headers: [String:String] = [ - "Authorization": "Bear \(token)" - ] - - var parameters: [String: AnyObject] = [ + let parameters: [String: AnyObject] = [ "url": post.url, "type": post.type, "description": "" @@ -245,6 +208,14 @@ struct LibrxService { } - + static func buildHttpRequestHeader() -> ([String: String]) { + + let token = (LocalStore.accessToken() != nil) ? LocalStore.accessToken()! : "" + let headers: [String:String] = [ + "Authorization": "Bear \(token)" + ] + return headers + + } } \ No newline at end of file diff --git a/librx/ProfileViewController.swift b/librx/ProfileViewController.swift index 8af8277..8f03312 100644 --- a/librx/ProfileViewController.swift +++ b/librx/ProfileViewController.swift @@ -10,9 +10,28 @@ import UIKit class ProfileViewController: UIViewController { + + @IBOutlet weak var shareUIView: UIView! + @IBOutlet weak var likeUIView: UIView! + @IBOutlet weak var markUIView: UIView! + + private var screenSize: CGRect! + private var screenWidth: CGFloat! + private var screenHeight: CGFloat! + + override func viewDidLoad() { super.viewDidLoad() self.navigationController?.navigationBar.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1) - } + + screenSize = UIScreen.mainScreen().bounds + screenWidth = screenSize.width + screenHeight = screenSize.height + + self.shareUIView.frame.size.width = screenWidth / 3 + self.likeUIView.frame.size.width = screenWidth / 3 + self.markUIView.frame.size.width = screenWidth / 3 + + } } diff --git a/librx/WebViewController.swift b/librx/WebViewController.swift index 8e3f020..3ca710f 100644 --- a/librx/WebViewController.swift +++ b/librx/WebViewController.swift @@ -32,6 +32,9 @@ class WebViewController: UIViewController, UIWebViewDelegate, UIScrollViewDelega navigationController?.navigationBar.hidden=false navigationController?.navigationBar.backgroundColor = UIColor.clearColor() navigationController?.navigationBar.tintColor = UIColor.clearColor() + + navigationController?.navigationBar.backItem?.hidesBackButton = true + self.title = self.post.title } @@ -58,6 +61,10 @@ class WebViewController: UIViewController, UIWebViewDelegate, UIScrollViewDelega self.presentViewController(alert, animated: true, completion: nil) } + override func preferredStatusBarStyle() -> UIStatusBarStyle { + return UIStatusBarStyle.LightContent; + } + @IBAction func backButtonDidTouch(sender: AnyObject) { webView.goBack() }