From 76ea00483d60a2cd8387c8fa3e85e7a97a8eb6c4 Mon Sep 17 00:00:00 2001 From: Stan Chollet Date: Tue, 26 May 2015 16:40:56 -0700 Subject: [PATCH] TabBarIOS tintColor Summary: [Origin Pull request](https://github.com/facebook/react-native/pull/961) from [cmcewen](https://github.com/cmcewen) All the work have been done by @cmcewen, I just rebased his work with the master. Closes https://github.com/facebook/react-native/pull/1337 Github Author: Stan Chollet Test Plan: Imported from GitHub, without a `Test Plan:` line. --- Examples/UIExplorer/TabBarIOSExample.js | 4 +++- .../testTabBarExampleSnapshot_1@2x.png | Bin 27640 -> 27287 bytes .../Components/TabBarIOS/TabBarIOS.ios.js | 13 ++++++++++++- React/Views/RCTTabBar.h | 3 +++ React/Views/RCTTabBar.m | 10 ++++++++++ React/Views/RCTTabBarManager.m | 3 +++ 6 files changed, 31 insertions(+), 2 deletions(-) diff --git a/Examples/UIExplorer/TabBarIOSExample.js b/Examples/UIExplorer/TabBarIOSExample.js index a8f913a07..13f8e57da 100644 --- a/Examples/UIExplorer/TabBarIOSExample.js +++ b/Examples/UIExplorer/TabBarIOSExample.js @@ -48,7 +48,9 @@ var TabBarExample = React.createClass({ render: function() { return ( - + = zXU?*AE_~*T(qyIXig$@t;-zK}AE0^=5RU!T{Jh?9x_-}p?m-?sFuPE%;Brgye;c`?N>qgS z1e8}(4FOE!hD4+QgtF-)Gc6M^>NQ@K{+T}3T1lLI+SS-4U0wM>^}xiAe$g6rbSg4CSqK}rUs5S@>kE!K4Vm@Gn=xSjI;H$0EonAdSk^+=L1Fs z5kDK17|k&Y`q^f?@~%tSEWLf>@@Xxhxs4`f+$-WHnza0yVh`Z2JC}^T#sXsBQ_Eq~9D$w;btU&i zzoKwrS$qQrytvr1^>sO|%o3g}F7AYUL;i0txhiCy8pvi0bWr|m^=78rP| zpT_{lQOW+J!sYrtajSLh-Io()iJ0-T|1UJVjYr?SHdB@+(7+lLXk~B$%zjcqA~9ZCYrB4cuc;mUHcS_OXT%!EHVPf8e&?eaQoa1HS8c7YAOZ3 zuL^mNY`0mA6Zo;N?4Y@G2?6)3gCl!{=EX_?G00s&Z2FDy#7P-fGB%G(#_~1;lxqR8 z+~$*7sVZ2B6w|k*w{Y5^&S86d~wwW}olmJr(~NO-|-Q`K6H(0wGxfo`{vsmse14-lUz`Vd=nA5+QE-v!E1h)jYshzAh4Tc1lB2}TL zpT|Wc1Dp|tsq4GeEEna9-UW%Ui3@Au!mdoFoJQVsxnIV=Jy0e+K?EOE_q|DWb#r&C z*iOBn4bzT7wUf98apR z*y6PMsg7-ggt78X=&_Wg)1`A+JvpF17b)Qjlk?Q5(O+xdn16u_{<-7VvZ>-g`IL{8 z+FD-+9UFO?t@x$o7SLsuwhV`5E6B`Lm*5rwxYZZC;?XqmiL& z)2gSCRm~Lvr0X>xWvbniOQFPmy@jGsko-(83p7um{?+{Jkt%-u#uDgIw8YI+x3>u& z`++)ubyUZeS_sx&NR9pmh-*c`00yhBHI_YDu~#C-G+$(C{+Xx}bAv~xfIi`{WgBT~ ziZu0ZzIHJDD>l7}|jN#79X)=&~vl)38m_#qdu8drwH10{C>`Dp7o5I8~6&4O9%j z!Evjw^9^HEX@*z%_m>w!g%MqF2I4I?Zo;M5wF%-Nzkz@vR^-8DC2X+Vyn!5Ae`kj( z*txV-pTOv&5Vw6>y*CSi{n&baAZUNYRy-*>6j1|FN!4=O{OKDIm-eZ1D*D*ewd`os zhfmr|)i=JiO|GZcOP;-{+}%BZhUQ3A&R46uU7#-z%b)-ci7t(eq`7z1b*FXQj+(iT z%nxz`<$fWnuOSmk@j!-r?fS?2tS)W=G`1lgGl^pIMpnm5q6`859oqX52c++X^=X1+ zi`zovYU3s4L6TuhB*v_S-KSbz(blxVF~UDcm@0zKG0koBN;>l%bBp=q(ieJl6Jc%h71Q80_>B!xnwtunlKJ(!v7D4RRn?e3fNs{Y(?M-b zt+YPW$kxxk=~C{o{UQIx!8Wg%KY>Lwx48$tvc29o5YxHwYIH$W^eC@w`P39Jx-}Zq zmB?S0_g9{)9LiLid*Xp|Nw7TtTFM%h*M%F?pZr+io2zeaP`a==-X?162(afw6;yoU zfjA7D>5NnIkIIzsy1&gHMgOe{~@=%24oC<1vm@H_JdwyWSdL*SF%1LugrQ z?G52-24&|f_Fauf?RQ z?}xB)em;G7=}zH-n{k|A)kOnhWO&OeeIw?~_1Hug|284lxMp28M)Si*L4i2RQoLPX z%ZEKGaOQ0B@DJ&D!uISwY?9x|#m+#mJ$ytk5@kd(w90UCBZrX15%cXv^mM(+tetgN zLb|opMCWf)Cw=1fQV+^eCsk>mI;u()DaudV&vaU++L<^E20VECQyihj`GciiDAG6> z(-rBTRbn0dE3j(qfoHF*u-*IA9q7jZ^1`9FGo|`*@}@QrmDfr%DtEHwj5MgDhBbK+ zBzVv2I^DOBgQ9t;-md~t%~I74I*M5NQnpM_&lvIB(@7g@EN+V@8fOi&syaoGp+0mb zG#LtW#0Gh~XP4@3TnjY#TBEm@ITl_})70ww$VZwQh|X!pUdmHi>g>lc&InkTs{a7f zgRcr*Ne5{Vufno2&)>ithzdDf)yllVXB=|*zh3%v(aVRTVS|t+-jiSx%147_i+8LH zJZ2|mL)6sBzjKuDp-b*JEjCX2y4mbZzDu)}KwR-B2{c$&SAF-iWrRH6f!JJblR&8X zU)o-zH_VX+BikeU)w>AM&%P`U=|fZ?IF5dGBxYjM2JBF|GGGk!oSV1&c+|g}G$J#9 z7xL@1-_DjKX6~g1*7}VMehG7_^n;-+m1fz}aFLS9oc!SXM}{Rd-4Zj#o%koctzk_i$bSWN$&M=t0v z9akFz!;^IIDfd2baoLLVYFOHURE?h#5_%w_R>bs;cC0Axh=X4>14xF-hQAdx7cn3{ z=H5J%J9HH8r;}w;8QG?IuQ2xE3}h&b5iS#`XF|3$LRR#&M)TCUJ)PBvnhOx`oyqZQ zZdAwN4NI2lpdPT=zrGHuiI%|-^P9gsgM$eG(KhZg{u8Ja2()KRuda%U`c~C zgc5S7IY|aF|2`9P-~)VLkbbW2z)yWnnQtxSA}s0L6Cimd3!Z3CG|po6;1)nqnJ*~; zz#iZs2&_>eZnOQ3SjN*BRTP*eSVt#!qv6zHv~Ur}C( z-t=oW)7fSw_r_^p7qUKSHpJiowYnRKK--5fksy0=o)p!C!pU6n4f7 zB>SEA3x(WNPQ6t6?iqVc=Ma`ZaX*$Z_`ALT1kIIqSf1)83Oyu|dNuWrLy}#i<7=@B z*e=_e4+U5P7-Lv0s0jh4lM(|tE?=g4XQT}!^BeY3ebsf48ZUPL=o?AwZVbs2Xbtg0t^! z4G>3ET%Zu3$0Y7`o?{z4on99#JxkKvkCkV&w1SwtV2@C*wrqZbnOUYw1(0#!y=M(F zhFHljc{nt1&_Q@@f5<2ULJwlon7wC&g0^g7AXh6%5XgY6BRLeZhe_u4FY z&c?&mfn7SGAc5#L_#A%m<3))HAq5Xt#iluI)v^zsFY|Z;^vZ9jJL8a;)vToF{@~M+ zdN|O{^}5`xU5vI2FVYu7=yFPfAgg1wH+?d?tM*|{{v7PPIM(%)ljCaxVwfkj+QcTH z!xK20YgaZ6PemL-y&v669m}`Q%2zVYx;^(ZZ$uB!K9aNr%WAVLl#|sLHFX>K_#;u` z#+V+EW(ovZt!$8RWfxwKi7bT@!CxxjVqJ?LV<9RG-yPpW8vc5>2GZMLq@`*-7$rcs z+nGt|$hGnITvXev8P@D;aOsR;(kQbqFsoS++h5&UrIMjIGq?~-OqU<@M6`@0gZwMENe#KL{yYLv;T_YcSSQ=CP@9IaAWoZ*PXf)40IKvb*C>&q z^{KQ_)A5^j;s{Jq*Z0W-79kmMu#~^C!jIQIg#9;!`N4ZRogxc^5Yj=uhEv_ootkL-kV7QosJN{w?qGd*z7{?W_ z-6`yV@DwTiPak3#yX%AJZCK(smt2gw+3QUOfMU4g|@EL=a<{paJ588jT zLk~}(?ktq0odoC|dQ~;=dpgUZJ={UQ)!fG{rIWOu=EI54nbC$QtLkK9#xz?tX%F?^ z!g+Wv)sZ=lj8`N+rM!d#8iMK7JFAC?w%bONCZL1557{E6^ZJV(9^0F#aQ~idj|Y2y zew#r71NBPO)FFK3bDz5UjPM+MGr%|@{g4B z@{*O!wYiZmemIfZAYl4=#A^TdT(8m@AcMKdgX0`#22n|A4uaY+?32_#?mONcDL7XW z3CMkH@c{ZFfNp7%TmL+IxxM+~(^O7*a^Le;5EYZ@6+`8ze4{LGy6f!nox7re{e`d# z^1UmWbbTP*H-Gs0E0t%zv;cd5}LXh(E20Z7NPwOLX22fD$ja0?J z4lVC&;J}PjCw_q5oP29eC4M0M;^Jvh)5;dq`Hsjdh2izg>IgB!szioY)DCwawktSc z^-k8$VGU7>NedWV9+kvz(W0Y1JO_36VN>gN%di?&Ns)CnaAh)wc3zn3r_Y-*@7=g? z#OwWWNv1fWRckfK%=UO3_`^0hP~qJ2pYGaaWTT+uKQhW_ReUpjVh&M?D#~f|l%LM( zzkGk)M*M;GD?o-owvxDX@%Wc3e|eLC!0peIAHcUC%EpV{tjs}$yci7MkxyzOHa{_qOf+QIKiH5`~`Tna6R#f2wd?0Re< zyt9*#CZ579Q>Yw(Lp~w5#wj6tJu7lJcyLK1#ozKHnz z*SBxh4|9|u!o~0q56zR#PRjiBrO#DfS?QEh?wQ^$LNaPPQ(wu@-Rt!A zf_xj|uWk&zp}_qsZ=9oKh=&4XEN*Zr`ss2nVmhwd_IQ!L=dUm|mV~uU3<18GZ0d-d zV;O`=JO_l2UYEa>S=KcbAQA4CQ_IPQvvprqrVGa!7^ qGF(oh0m2tP;VgAPC;))5Er+Z`2M@pg%ld%uJAcOQboD93t^WaF0|&(b delta 6464 zcmZ8`dpy&7{QqZjJ*QA{LP&QNxg_^nrKppr9Ct<((Ol*}qt8k=x2c>^V=5;qcf(|6 zlgo~K$aR=(h+)iS#@KJp-B!Vo}brV%jkow4?td=hu;5C zcG3AVIDO&mNYw3TvcKKAbNThI-|j%>9w4JKj_-79o^d01JHmda2|jHhX4qWrm1-jKX&suBn_=~Gj05+VH$XA`hR`D zhhMoKD)zq&|Np}Th-|nMP`sWVr3L^t2djjB2gP=$E$z|-DR)W{Kc6y5Zsu=I5#x-O zT&g+N^auAVQx(VGWU6Mxs>=#6IZf<|vxuQ}rBoFmp5~XUN&0Gb3){||5IWYMdHm=; zaFdA}z_U1+Q0Sg_*Uq?&VND~M_FTfk@j#AaWHw^-ppP(^@Pv7@wlt~?Sl;o|z*Ll> zU$qJrE@p~A_jqYsA6ogjNnJUfdn8CbsMkkE@;v%xWO(y(i;46D?;qbvZjD50#7{%_ zpn+U3!Q4;_4P~M0yOfc1_xatWEI@c_!xFcO0h&xLWuTbrN=NnxS7wjQ(~8f4#A%Ic zE@Uw8%)>|t;aTrQhLP=boY69EKbi;XJj5LpLaRVl1e-*SE@b!i_5-`E{#$pwimP#d z^DnJU->yIu(0ul-+K$t}klw63`IeXHe~{2TeBoyLK{Y<-PTxL&b#5t_NLojrXI=+RNr}mOC(h zwV0Je!J*TZy7>{>KpK3=?3s`W_qrS6f+ID)OLy_TtVOibN5dqA&iBLJtKaA5hnSpY zh^RvJ&QF-G;2}ZFj1O_CoyhtDtb? zKtIS_pmZ=R2ViZDWQLzlgjq&ppnu!yA>bimq1z{C{$7>}cH8Fv?g(3kgL_?Hi+8RX z#F>eBM4CyS_ku=$Vuxi*QT*+V52ANY3#X-%O^bt8RIb@-Wxh-Rr!B~}DBAOq>5YW3 zDtEhrws=7F#Pi6UO+wF-KWGP4 zpSHC@ePKWpgaKYPXd!%A)xw$0MdizPYCNFxSK9-6S4{^w!n8sL-GTjtqrhG?^acP; zZu6iVmAOttm+gvfBnH_XBRT3(qJyHWgST-WP zdNv{rmvG{Fv|NY@Z=~VsbCspH;PkjNzVdCuVRU>vw4(CC&_1 zhcr~nP^x8c*LE&({AZm3HIUy_j*^BzB)@-9ivr;z;^S#37*~0xKpa@|feY)8zh}P% zK;!?p%)QZb|K>M)0OpY^y*Lx0m*gMilOzUQecWy6ENbCDiXF7zw;*JNI0N%z~2!V#D8H%}O zJtL3~uM4%nmc4^hv+DNGJZ6g-SfVDwB^gaDCXrKE&g6S|s@xv5&kQq*tLEpV8T6|? z@yS&|Ij?1=37=Ny(xn$MiWuUvv0K<6`BY2YR3}~Aj+`}0Td&~TNIf;WS$8a!@x9I^ zEY0EC+8r3IB2W~x$Y0;AOnN5RQeSqGCtDc$#JHs+8Q-K@P=wfXNN|EeO|wpo(?<$f z%uQANf90;rU{tf;;dM@5oUZluP)y9v_QZ%8Xeu6xT;U zZvOl2K-}uD_Y)kyp6Dz|ySZ$vfz?X1Ll|N+PXdNxsin#fM8$O51lJ+%wQ$m!_Lozo zLGa5Y*|TOYdWq{9&MbMhwT&fgUtHRZ*hPqLe~)=y(b_e;3+s7sX;sSI&;ULK| z7z1GjwmCLO7Zo8Vfj3OZdR>R=)w;QHHC@`2;*a{q-zeDWE)1MSe`VxgfQ!x&^BNHI zYV0U*>vteTScdu!^fPB)iZmSg)%*suZ%OdCyPgQdM)VF3r{0`hTfN^DS2v9Mv~bsl zTLj$sAUZz4Uay>p)aMp1jhwv=)!vNt7};PlGq~)1XlO{R=y;KO26mgM{%lPOc{9h2 z1ivNfb(EklGh^8SsG5Lc zw*d|H;%Qg*ZDAhNZUDXyqe|CltT?Lh#7n}BCv1Q*LzJ<}$|->WUjVzejptorlZwD7 zwlAm#h>bt~odPO|xhu2N4=N1?0L_P`cged zOldhIiV9cQw2$GGKRrVar<7X}^oAkPzAkp5tBc!k7e>R+&LX!VLdQd=E)pk>7OOq^Vw3MAj)n`+v# z^ila{8KZ(zO6Gr$b&@-SxNS1qRAx@lCht!3Ta%V4-hHJpfu8~YN~DQy|HzpKRTkL? zrsF{^(2mo&1-^>C%?9oA;QWv>(pdF#y6KkmwZXc zZJW_pG0?eVpsJOnWd&SN%gZCp|iF@%i#Eqw@96kKP^VQpB z2b~4CdLhxLw;sWa0&PAHeu(y;R*wi4tfeS%t+nWz<+38u>Jq`YBEulCa6lNcvY40P z)z_9$8X@V^r?n3X^MEM<4Deq|`52u$T8$Iy>1)_5_c7v3cEJ9f3A9G1H~`K6bi59( zG7&N8ois~#H!4+=`kFhVv^Mqqq5gfRA5s(!nGt__;%t?M^gs0VR*A!Y66dJOn6XdL zkXiedf%%P&dgob`IxjH}%#5X_=h%*MTdiM}jIO%1G^lN}y+jX!0*jW7C-Htu>v{8n zvs+u(H_t2ip)%R)?n}#D_~zsnE^j$iz&`w*ixC0e#-1ec@g+=gb*=X(ulr2egdUr23CIjyy9}NWES;>2p@XD>j{QR&AV8Aiq$e zBvJ0)^Y%B&dMp{l7GG=2`B{cbBpH;!6!bT(1TAk_9ic!oEQd%Cf7;}31Q2hJo&u;B z09@9VyYZ8j4ey$?=$p7W#LW~RQEM%L!Ct zYm%)Rhy>O;Vyd3wt-_$q{Z$jXCRz^e6c@dW;ctX-!H>A>Mz78Wfp`jVnlat)(y~p3L^_B}bjEyWD6HpSGOWuXyZi z3`BuyB1g>aJzo^%Q8p64w<6jGTFUqR66Fp9dFyFz8CrU~DON=B*5zB1M2TNGAbFg} zi3i7CX_;?09hIiI6i6h}n=W-$rY|k7$oLY`jL^OAeUb0=mC*FM$^68&Ee1)TX(C

|AOJ;T|K>YDe~4RUS2LEq3E%7-oRMm60lcG3uvd8<(er~ZyJaZhydzUVp2Xqkr@WQ&s33X`IVt*G z5YW7;SHoVqURA69{`JkkaB~1u{i{Hjo`Fg7W-E#88D)fm)%>k;P5#R~Ch!DsbUe|c zX=Y(6z)e~Gb*gT1{qahuw#=^>5s%h3g;Z2!TO;r)R`KW!l9ia3zO&Y7Z{IyziX?%* zyc+4B>PiBV(QSm;rkKJvvZBnR$?WSoVV`_~{V$yvwacRw3vy^55-6q}cepWV+|^qb zvF)w6?~(uG6$c}gk$Ym}U-jA~2e!)|harj&D^Z=_FxN%!_b!8oH^Q2yUH1syJ^P7} zRI7|e?7mH6C0@|rfp_Vo<$(g2@4_{wq_%cX-j{(-fHHq#%*&Rt{BhME8EiuWG{9!+ zG}4|ro)M|*WD;JWjP8?GnQe~92b9&~&wJa4#)_O)O$wQB?AF;u;VgwCu=0dJ_(_W^ z25wcxy@kmEK%VN!{9cc`G6zkot>!Id<17C>0B|ndBZ(l9pO;#HVyrZct3Vlitt6uH z6n@o)&`!EfSN-U=@!%v9F;o9GUdw79x+}wqVV-77?`dCcUP6`G@XA%Pw_`g1cha4x zQC8w6mVGw0=m{d$XY%fjJo%DS8FDgR>+ggCX`Fj2t1U3aNF7&0<>~){o@Bu{b|GW< zusTrZ#I_rZjkmIE!F(iwU!l!x;e)7A+Ewky$AU8J;jyQUNo(c6aHoSl42J(e!Axbkh-bG*iX zM=Mc8PAjnT%Wg`h4vGILnH6x^T=~Hds5Xf- zIN=m~=pSlY zB8wM=$d|jeiQMUJVRO=!`;;-~+@a}*bi@p9I7i5Z)Hr=!SQ_`(DPe{--~)T_n)_&2 z5k1|nS)z!R*DwBzvU=71!v;u~*-*Kn<;j~;S+gQrT=2^Ul39Viik_ntk%OiVl9U(- zSjBm=Wof&*h6^McegKl~TPHITTJo@8x8Q`iEi#fhsH7+Hu<=-5$5_50-ugi{qP2Q` zsM9FPdQZMhm9YEbwU-(}7|zu(IiFXd+DFR!x)_5rd-nHt!iMRX)M{})c1JCh#l70C zV6mvr3QvYl0>SB3kMt7X4XU`Rg8-u@iT<&HflYk3(uB)#Tfd~#6+9?}K0QGk^ct(n zM39Dj0H1GNc{qFz1ICgIv%vsaRcl0iy#m5~)XI8Un0+pXhCE-;@G=Tz8!mH8b~@f*zz4*=$mR<%n7iHwN5>0_5$9=akSxalzWp{z3v*+O?tsa5ph&MgYT< z#ACPSM;Cy;*Sf9=U+9Q&*`vQxBuhA&lbQCVV}Z?*OpeZjU7n`2bfDepSiXoShn0eV z!kj){tY@|xS}K_z9{1Ywgze~?lANFc=V$%dlE!%%r-}>?T&M2yW1Q}qbVb(QR)-8; z-;opybdkT|UDLIht7x$QVfMP1W?JBLH=vIXO1kJLplfi7azEPQM{;g)9*n* z791ZXI~@U!0@72lwf(5-1!eRkQl3Fifoj)X=s)mQHQvJeyY*7N1LNF98yt}Jb;EIq z2$oNCXKhhu?>0P}#igH_+5?|*C#riI-f-8n9nxoiY}1R{nzAn+G3leJ`Vn(!f1rt= zuhwbt_(r4DWtvM>;Q;Fv&@b#NPmXZ>!fgtAgl$-0UB#WnFmtmY_P0DeJrNDn$FEc_ z{>8Wiy)NM;|37_4?c$M>vk9|WIp>V&XB}|MpN4>B`LGA+N&Jre)QzSStI?K?kTOCs z>=aZN%yrmBfe-llpL0n5p4b6$ggsmBJH{GA%;d)J6a<~`Nrv^)CUW+7H^AynTz9v? zmA`$hm%-1=BR(0>7<&VscXpZM_tkGOQM$fGuJaK5pa$pJMdxFpWYJFU$! zYP(>jo_F^&m&hnOb0UZjbWM7%*lZ|2T;GnM=VW86O&9+OU17(Idp)O}(W25)ADqDM zrwS9M|2u^vo*WP+sN9Dh@>JQoT(0&ZI!D)WLu3rfI$G5 zOR-7`ElC9j)w&OXfVx_J;qko73C=Ck%7uTRmmX=TCf)2R+8i+2AAi2w0A=i5(|xvC z;xf2V?O<*-)ZcR&5*<1D>PRNb+|R#}dJ0{8Q_So6Xr)f|hd1^eP0W_cykHl?uh;dz zVXt``gjIf($QfO1(96f3+U#i%80~6sJ0 zVJ#e9O3d{v1X@n@7ZGd=qpIx+AcImnES839!*1-|<0LarisHLwhe_zmqIr_^!3dZ6 zCy_=fN9YF2Lvx`i(9+nrq4ZWa!c%Jpo3G_}J*aggVHF}~YbA*s$FKE8VFP%oW{%Hk zbJJEj$PfB^0W<=96x7(17gP2Q-g5As`^xSve{*cq<7++3d{Y z>PcaO964E=0h2Br;rJ~Rm@2G+!M9Mp4XH8zEm*??$7)I({L5IZW#(r|9 zG}T8`ID`Amkn+)CSaSMfn_YD5j=#N4Bk?+wHa0rTJgPvG*BU1Gsf2?(43 diff --git a/Libraries/Components/TabBarIOS/TabBarIOS.ios.js b/Libraries/Components/TabBarIOS/TabBarIOS.ios.js index 4163b2d78..1910c67ca 100644 --- a/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +++ b/Libraries/Components/TabBarIOS/TabBarIOS.ios.js @@ -25,11 +25,22 @@ var TabBarIOS = React.createClass({ propTypes: { style: View.propTypes.style, + /** + * Color of the currently selected tab icon + */ + tintColor: React.PropTypes.string, + /** + * Background color of the tab bar + */ + barTintColor: React.PropTypes.string }, render: function() { return ( - + {this.props.children} ); diff --git a/React/Views/RCTTabBar.h b/React/Views/RCTTabBar.h index 694af9ab3..6f491ca08 100644 --- a/React/Views/RCTTabBar.h +++ b/React/Views/RCTTabBar.h @@ -13,6 +13,9 @@ @interface RCTTabBar : UIView +@property (nonatomic, strong) UIColor *tintColor; +@property (nonatomic, strong) UIColor *barTintColor; + - (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher NS_DESIGNATED_INITIALIZER; @end diff --git a/React/Views/RCTTabBar.m b/React/Views/RCTTabBar.m index 8a7fb4a43..b5b6240a4 100644 --- a/React/Views/RCTTabBar.m +++ b/React/Views/RCTTabBar.m @@ -114,6 +114,16 @@ }]; } +- (void)setBarTintColor:(UIColor *)barTintColor +{ + _tabController.tabBar.barTintColor = barTintColor; +} + +- (void)setTintColor:(UIColor *)tintColor +{ + _tabController.tabBar.tintColor = tintColor; +} + #pragma mark - UITabBarControllerDelegate - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController diff --git a/React/Views/RCTTabBarManager.m b/React/Views/RCTTabBarManager.m index c7dfe09e1..0f038c4d7 100644 --- a/React/Views/RCTTabBarManager.m +++ b/React/Views/RCTTabBarManager.m @@ -23,4 +23,7 @@ RCT_EXPORT_MODULE() return [[RCTTabBar alloc] initWithEventDispatcher:_bridge.eventDispatcher]; } +RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor) +RCT_EXPORT_VIEW_PROPERTY(barTintColor, UIColor) + @end