From 61604557ddf096d9c5e80cc9a4d78ca6c235336c Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 21 Jul 2015 10:44:52 +0200 Subject: [PATCH 01/13] - Fix --- Example/Pods/Pods.xcodeproj/project.pbxproj | 4 +-- .../TabBarPicker/TabBarPickerViewController.m | 16 ++++++--- Pod/Classes/TabBarItem.m | 4 ++- Pod/Classes/TabBarPicker.m | 33 ++++++++----------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 7a46100..435e2fe 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -628,10 +628,10 @@ 4E0DA1B3F943CB5DD84434E2 /* Classes */ = { isa = PBXGroup; children = ( - 948796D629A2FE463CD40F14 /* TabBarItem.h */, - 6D0486D2A6CC5159ED6C3FA5 /* TabBarItem.m */, 6EBFE41004AD256533049528 /* TabBarPicker.h */, 66C7B75EB841D53F0EC483E0 /* TabBarPicker.m */, + 948796D629A2FE463CD40F14 /* TabBarItem.h */, + 6D0486D2A6CC5159ED6C3FA5 /* TabBarItem.m */, 038E63B1DBCA0584644ED157 /* TabBarPickerSubItemsView.h */, 13660ECE3ACE682AFF3887AC /* TabBarPickerSubItemsView.m */, 489D9E1E1C7A2D5F8BC9F84C /* TabBarSubItem.h */, diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index 954bf73..6856f57 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -58,11 +58,16 @@ [allergen setImage:[UIImage imageNamed:@"allergen_off"]]; [allergen setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; - tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,allergen] forPosition:TabBarPickerPositionBottom]; + TabBarItem *allergen2 = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + [allergen2 setItemName:@"Allergen"]; + [allergen2 setImage:[UIImage imageNamed:@"allergen_off"]]; + [allergen2 setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; + tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,allergen] forPosition:TabBarPickerPositionRight]; + [tabbar setItemSpacing:2]; [tabbar setBackgroundColor:[UIColor whiteColor]]; - [tabbar addItem:allergen]; + [tabbar addItem:allergen2]; } return self; } @@ -74,6 +79,8 @@ [contentView addSubview:tabbar]; self.view = contentView; + + [self.view setNeedsUpdateConstraints]; } - (void)viewDidLoad @@ -82,7 +89,6 @@ //[self.view setBackgroundColor:[UIColor lightGrayColor]]; // Do any additional setup after loading the view, typically from a nib. - [super updateViewConstraints]; } - (void) viewDidAppear:(BOOL)animated { @@ -100,7 +106,9 @@ [allergen setImage:[UIImage imageNamed:@"allergen_off"]]; [allergen setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; - [tabbar addItem:allergen]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar addItem:allergen]; + }); } - (void)didReceiveMemoryWarning diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index 64f3762..9db7723 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -28,6 +28,7 @@ _orientation = [[UIDevice currentDevice] orientation]; _itemButton = [[UIButton alloc] initForAutoLayout]; + [_itemButton setBackgroundColor:[UIColor whiteColor]]; [self addSubview:_itemButton]; @@ -44,7 +45,8 @@ - (void) layoutSubviews { - [_itemButton autoPinEdgesToSuperviewMargins]; + //[_itemButton autoPinEdgesToSuperviewMargins]; + [_itemButton autoCenterInSuperview]; } diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 02bd7c6..3a6c4ab 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -60,13 +60,22 @@ } } - [self setNeedsUpdateConstraints]; + [self updateConstraintsIfNeeded]; return self; } - (void) layoutSubviews { + if ([self.constraints count] > 0) { + + [NSLayoutConstraint deactivateConstraints:self.constraints]; + + for (TabBarItem *item in _tabBarItems) { + [item.constraints autoRemoveConstraints]; + } + } + switch (_position) { case TabBarPickerPositionLeft:{ [self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:20]; @@ -111,6 +120,7 @@ break; case TabBarPickerPositionBottom: default:{ + [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; [self autoSetDimension:ALDimensionHeight toSize:44]; [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; @@ -118,26 +128,20 @@ [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; - [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; - [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + + [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; } break; } - [self updateConstraints]; + [self updateConstraintsIfNeeded]; } - (void) setPosition:(TabBarPickerPosition)position { _position = position; if (self.superview) { - [self removeConstraints:self.constraints]; - - for (TabBarItem *item in _tabBarItems) { - [item removeConstraints:item.constraints]; - } - [self layoutSubviews]; } } @@ -145,15 +149,11 @@ - (void)deviceOrientationDidChange:(NSNotification *)notification { //Obtain current device orientation _orientation = [[UIDevice currentDevice] orientation]; - - [self layoutSubviews]; } - (void) addItem:(TabBarItem*) item { if (item && [item isKindOfClass:[TabBarItem class]]) { - NSLog(@"%@",self.constraints); - [_tabBarItems addObject:item]; [item setBackgroundColor:[UIColor lightGrayColor]]; [item setDelegate:self]; @@ -162,11 +162,6 @@ if (self.superview) { - [self removeConstraints:self.constraints]; - for (TabBarItem *item in _tabBarItems) { - [item removeConstraints:item.constraints]; - } - [self layoutSubviews]; } } From 967bf9533654caff8ec4bd1404104bb34bae1145 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 21 Jul 2015 15:43:02 +0200 Subject: [PATCH 02/13] - Update images - Implement SubItemsView (NOT COMPLETED) --- .../allergen_off.imageset/allergen_off.png | Bin 1368 -> 1224 bytes .../allergen_off.imageset/allergen_off@2x.png | Bin 3541 -> 3278 bytes .../allergen_off.imageset/allergen_off@3x.png | Bin 4018 -> 3756 bytes .../allergen_on.imageset/allergen_on.png | Bin 1368 -> 1250 bytes .../allergen_on.imageset/allergen_on@2x.png | Bin 3541 -> 3417 bytes .../allergen_on.imageset/allergen_on@3x.png | Bin 4018 -> 4063 bytes .../calendar_off.imageset/calendar_off.png | Bin 1214 -> 1110 bytes .../calendar_off.imageset/calendar_off@2x.png | Bin 2571 -> 2440 bytes .../calendar_off.imageset/calendar_off@3x.png | Bin 2668 -> 2375 bytes .../calendar_on.imageset/calendar_on.png | Bin 1214 -> 1154 bytes .../calendar_on.imageset/calendar_on@2x.png | Bin 2571 -> 2458 bytes .../calendar_on.imageset/calendar_on@3x.png | Bin 2668 -> 2536 bytes .../location_off.imageset/location_off.png | Bin 927 -> 686 bytes .../location_off.imageset/location_off@2x.png | Bin 1916 -> 1509 bytes .../location_off.imageset/location_off@3x.png | Bin 2131 -> 1581 bytes .../location_on.imageset/location_on.png | Bin 927 -> 688 bytes .../location_on.imageset/location_on@2x.png | Bin 1916 -> 1511 bytes .../location_on.imageset/location_on@3x.png | Bin 2131 -> 1668 bytes .../price_off.imageset/price_off.png | Bin 1262 -> 1125 bytes .../price_off.imageset/price_off@2x.png | Bin 3111 -> 2759 bytes .../price_off.imageset/price_off@3x.png | Bin 3398 -> 3097 bytes .../price_on.imageset/price_on.png | Bin 1262 -> 1207 bytes .../price_on.imageset/price_on@2x.png | Bin 3111 -> 3034 bytes .../price_on.imageset/price_on@3x.png | Bin 3398 -> 3507 bytes .../type_off.imageset/type_off.png | Bin 845 -> 735 bytes .../type_off.imageset/type_off@2x.png | Bin 1391 -> 1234 bytes .../type_off.imageset/type_off@3x.png | Bin 1045 -> 859 bytes .../type_on.imageset/type_on.png | Bin 845 -> 747 bytes .../type_on.imageset/type_on@2x.png | Bin 1391 -> 1207 bytes .../type_on.imageset/type_on@3x.png | Bin 1045 -> 886 bytes .../TabBarPicker/TabBarPickerViewController.m | 12 +++---- Pod/Classes/TabBarItem.m | 3 +- Pod/Classes/TabBarPicker.h | 28 ++++++++++++++-- Pod/Classes/TabBarPicker.m | 31 ++++++++++++++---- Pod/Classes/TabBarPickerSubItemsView.h | 29 ++++++++++++++++ Pod/Classes/TabBarPickerSubItemsView.m | 27 +++++++++++++-- Pod/Classes/TabBarSubItem.m | 9 +++++ 37 files changed, 122 insertions(+), 17 deletions(-) diff --git a/Example/Media.xcassets/allergen_off.imageset/allergen_off.png b/Example/Media.xcassets/allergen_off.imageset/allergen_off.png index c2bce58b6264081b5d24c847e599b73ae72ab366..72b5a8681e971c2aa1a28222bc189c74f17e30e8 100644 GIT binary patch delta 1205 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 literal 3541 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 P00000NkvXXu0mjf=l{+4 diff --git a/Example/Media.xcassets/allergen_off.imageset/allergen_off@3x.png b/Example/Media.xcassets/allergen_off.imageset/allergen_off@3x.png index 733d35d10a627beb3ecdce3459e3c3f26aad8642..6c2c8b7f0a767df2149271582777564253a8140a 100644 GIT binary patch literal 3756 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 WW67R$TrAW80000 literal 4018 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 T=otL@yUBDk^wn!rZNmQtlX%HY diff --git a/Example/Media.xcassets/allergen_on.imageset/allergen_on.png b/Example/Media.xcassets/allergen_on.imageset/allergen_on.png index c2bce58b6264081b5d24c847e599b73ae72ab366..1bfce71f652e475416832edf3098d6a99b50f776 100644 GIT binary patch delta 1231 zcmV;=1Tg#93gQVNiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzce}_p# zK~zW$Cn!B$8N{2#Ojc;*(XORf{gSWx2>@SzvePc23XGEP;iZ^46p$ znK|?S^PTVi|L^~20QldosK2^tf8tQh5kmk50FG4E?d6XsQ;-dgOu%M##9!TP7KJv3 z-~r?PL?HMTVXQk`=HIp%eoMZ{!Qj5R>Uw#qs_s0`oJ>~Memz@V&mw`~F>b?5vJH+* zK-wOEzp4Qf+>lhkr&%IA7@bsq&Gq0`0pL^1jDG05(Qzq_UAzA)iNbz=e*q%+2d5;R zkOXkX-4(k0x*OMshTeD~Dvl}20H4J#FoI2*POlM+ z&R__(tCU^MO~y|fq_DSlK9hXKznOFFfd3s0lei?1dlJIVl&+;>%QUa8uQPr!P}~2S zDDG4=?aHL0T&Nluj7}=LTR==!6YNQ1W-Pjvb3+9a6}7b{41Y;zf3yuj#@r_JiI+<1 zf}GMmw@6|M*SyG%vFz=CJgi}KRs^VQl?1{BW9%m_CV#fLI6i9xTGs<(jwz&{V1%s% zf#VtiZ8NIe0w}w0F^Ro4k%XKWW9!2QQ%Df6Nf229(i=6Vlu%0FW`Lc82ptogQb(4@ zGp2w~nQS>fq%8TI8P+ztv{fHp%3Ith{u_y6JQ3rvrLNQ4f*@TN z2|gYXqd{hhW}6F5aA9-Ug18&Pgp9& zAkrbgrquwwf92&iZ?15WYwL%U-uHHPTu(6Ik8A2V{vDj2njUK`?e3n%3=9JV4Wbo! zW0S+fRHZ?{SPWqja(Uj^#h_5kc|=IHkrmKjX^lPGjxKTS%a&BR!FQ{x$H-)}m6Ko4 z1c-12XzJnF$Vht{<8tNYL!0R;uh7XWig7=h8wr>4e}n*0ckj3;ApG8KcF;p5oPbc>>3|>lrj=KN<)g)u|rw zb-$WC9nirSvboMfjE*u&pYlfk!3E3a*IRr5mUz6DxzV9E1HU3s`ruY~m(Le~j2s4t t?W7DWB>{?hAWdGLi$=$`%JtvH{{@%-;BAZs`L6%~002ovPDHLkV1l_QRV)Ai delta 1350 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 P00000NkvXXu0mjf=l{+4 diff --git a/Example/Media.xcassets/allergen_on.imageset/allergen_on@3x.png b/Example/Media.xcassets/allergen_on.imageset/allergen_on@3x.png index 733d35d10a627beb3ecdce3459e3c3f26aad8642..9f90b4a1b4591c4e5772425e71d1451caaa881e3 100644 GIT binary patch literal 4063 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 T=otL@yUBDk^wn!rZNmQtlX%HY diff --git a/Example/Media.xcassets/calendar_off.imageset/calendar_off.png b/Example/Media.xcassets/calendar_off.imageset/calendar_off.png index 9cc9ebf8b5db21a4af2fdcb3078afdaeea8a1563..a9e20387355684d05b4bcd002fb08b16eb387b97 100644 GIT binary patch delta 1091 zcmV-J1ibsc3DyW9iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzbe*^nT zL_t(Y4b@dmXk1kkKKJLnc{7uyj+mfiq#51F3?vhkF`G!!m54uR5d_gFv?6pB&?34C zbWuTsuB0jy(Oou*l~i09kQkv0=`hV8D0HVqj45$u-tT?a?>w3?Gf4-xz3^u4x$m6w zo%5Y@?jyR}msnd{%S}y99W};Sf2GuO(veSgP4}!DyJ>%Nj^ivruEcS?0zKjTelR~j zzuT{K*j|^*<)^%Y_h}FWT96obU02({K1=R^x)nl{wAT0&FFQFWMIfutI5VJih@eSP zF^=MUB*`Uf?bA^hoghKW(#jNB3AT|^8Y}E6ME?+3dM`EU3Z-=aA^r{=e`!8RZR)T8 zu>RG;!oqjCTyCOTt^PKw*=#m{!dY>4cJ@ZA)jEZJ20pAeEN1}58d0fK)ZEG}3c4c;v}L?=md z68w^t_!+UFP5{s*F=m9?fBvhCqT7<~^xO3VWS&6*d7eimHH41J z_I$P{voSIzbYA9Xb8|CaDwQ6LY=r*Sf7EKVf9?c8>cKz-*Xxj%MpTIzUi!)ye zIVqJqt{qKye?5qUkGHnA-WF240q|p5XqeD;yWPHmc0SMD#y|tDe}F+k{`89y>QD6g z2XK6~SS<3{=SG+&X9nY&aS*?m_wvidvEqlAkt)uMc`O7`&KL5h9oJb0(4z+cU`$@# zJB~U$pQfpY=qCNZe+&(93*ps}0VPp#9+UjcSYhmBr_b#^;9G2KmJ#aq2zFQXdH2-$uK z=kFu(jAqbE$Z&RieEhZkA`>pL41li&CDmtP5WWI{%U0Rn0sbPK-_SWdiT%BtZQpW{ zg+hJ)Mn*?ayId4SgzM$q0RSj*RhD6R23?YXq5|k@K>iopf0mH`6?C!3wdw~DTBt^& zaShi=O=@}3%Xu%bF9ca00N{u~3(rHI_lQ1A84;DjC?wD@g|qE240#Z;w#J@tbG+WV z-g*MIV9Pwt;8_q+{QW)vx9ITNJL5vak|}&7u}O%1)Aigs&k1NFP*a7&D%&$PTx{4T zuv?MXNJfJYf8q)5^uQ?K4~??wRp^}KP}z?5xARGRt9_R3nHRabx~g|}cK+7| zgKI%dOiakd#l-;Mg@;kpmjKYfoVWn^6#!q?>-CM{8Q|_-`9C@a3{bALIVb=C002ov JPDHLkV1l-25F7vi delta 1196 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 w(T@ZDKk<)}4}rRQwya3NP2!sfdQs+ z!X;M?L1WZ=Z@_`camhoxL2ejjDr#gRlGHanisu z5gA_sSTc5Yb#;|H$J6<2NBHpJ!xM?#-%&mkXTV@E7`%qQ8$+Q`0OOBFeJrKTz%%2zwSxmeKko#M6bMwZfOP5Bi{#3U%U=+dr=X23a?%4a)DczZ}jsmd7A&o&Cr zpA%q28**j1WDA@ksv<`Ye+&!+O2!!YFGJp4g@uKIQ>RWv0lsF&e~cM>B!d-v336`$ zbTT4GOzQ${Ng^ut;)Q{`y1Tod6JVlz#G>)rGCfZA_xG>q?CcD~->odMczL(=Sbd|} zCIpNjw#$j==NO?nqEcR7ehS8ac`@TyTaVXxs{4HH!>Lv}mhv)yP45peXGeXDkSsa+L(WKn_~ml}79)m)i13Aeg`5i=4h^WLt9Sy&0HxZfMK)dFy!5zMY0_DAKZ9Av zN-v(2^_lYf5U84#;)<}00IXKdbmdvP^cW6xMK~>P9z!J=f52nteC-aS9st)I_6t~x zo94UrQ0BbNW-dhbyYsi)~Oh9&Odt)iG;q*REap?rnPTGhEteeJeNy>_W}GM4vX-Od@%=- z+j+hZ`U;+Nf2C8-lrFXAEliZ>V}}kM+63^8wY9b1CXjD;CzV1dRzy2w7z(atuU-i7 zWhg%&gX9dx|Bq1%t%|0-L(Yo;zGKduIY$9|GkUghExeAl2AW*P z1B@#J>{eG%=zt`2aX1`)1lgYeeAR{x8^TT<@z1^if6F+G)_3i#GiT0xiFcJCDfkA8 zZ^x*10j4hsz<#Q65r<))L9>lYtfI>?lK*ZXK5o_tc00k=; zi}1dpf2ykL?SlsoZstbhHUMf4#!w#O`Auk6zyVuzAu7rUvZI;t#W>^__@9LT zS>%Oe!$^v3lw7iJD;VzK_S5z83x^cZ8;QwiC zY_xS+biM(LL7rEYa#emocmpH<*VNQB4P^^?Hsli74nQrRK7D!zeZSDT(-}3TGKPJ` z9oI+VWo$J-vYj-BAoGuOA^#Y%n#|hj9FKn%X!PGr#@-k|mK0zyoAd4@#wj|>=qkda zfBz+_lPrU2i!f{vx0Tm1z8`~c;=KVH!%-Nd&(4?U&Ye3*mfTlRP%sTANxWwfpZH1B zd8){J-pmqDdPSOXMRyfbrPxW76kw$j3fr_YbA`K>d4D|)_!xs0Sq3W_^c8Te`x-0l zRung&Fb|#=;q5aW){Ij=HGkgu2V+i~e>|U&8`UoossQ>Ul{_i`=tP(7xB|XgoMcG> zMo|nwkE8TMJogll-9mI~OphATW4wpjMMR8j0Pqz&7m;4No{cJ6(0?eydA}B;E)svL zi)4~L`t527&o)lq2MJM&nZVT||7StzQYd7Af~MC}2-;Zz^rGd5cNYll`-um z$pI#EO4<1U+m4a0n??jr5e-p$e`eC8NlV%Mo9H`s5#}7nEIEOD>C-rFZ&^vCBSv`HrxR#pns7Wxba*N>zCjW3>5K(^iW| z@9Nh$&XA0#Dwz`EcP9JyVK149`j{fy8B;Y1&Yg;E7hnydOZx2tmT$mff0oCFTTum4 zk@hMYLq?cmW0*a<55RqLh@S$Tw@{do>&iIEG@Tt~@v_I00_?}Iv(X4Jb5E&#A;v_B z%&&d`D?6a8WnaI8*5x6(Jfo|O!ujp+YZ@74EC2^du?n5s70q+rypt+=qPhU`8Ra4EY zD5EG}Isap5OaNoVBGP#>pM+my?C08xQ(ctKIOjN#-{h2?cEIL5of6JzGZgnU@=J)7Y z8!yZS*jy1OD-x6*qLA{+eC*M_iH-;L#Y8k#GM}4L0a~ey{7$yd$N8H3As+A^ZLHYN*dGmf0O`>80PDC(P{pRJsoq(jD(43;+NC07*qoM6N<$f;2?pp#T5? diff --git a/Example/Media.xcassets/calendar_off.imageset/calendar_off@3x.png b/Example/Media.xcassets/calendar_off.imageset/calendar_off@3x.png index 078f4ed458a45ff7dbf52e28275d814810e80ca9..2bdb80acb9a74d1607c678556587dab75f1e5bc2 100644 GIT binary patch delta 2366 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 delta 2661 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 T{5#^&00000NkvXXu0mjf#Got# diff --git a/Example/Media.xcassets/calendar_on.imageset/calendar_on.png b/Example/Media.xcassets/calendar_on.imageset/calendar_on.png index 9cc9ebf8b5db21a4af2fdcb3078afdaeea8a1563..01f6cc9c5495f93e3be45f19d758fcfa9185cd23 100644 GIT binary patch delta 1134 zcmV-!1d;o`34#eBiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzceyVV)i3r)+Syajyc1KQ)4DVWsTWPF` zDdPwm7`cbpy~GwbBSWu4bRd!XLxj!(s~y(54g&WcJL)5b2Uogq`I?Rwf7q2zj*bo# z8yb#5ebWPj<0BWA1J~#Czd|aNIWsmkvZ2tiL-u3m%W=!+u>+w79|BN=rBVreTfxpu zPEJ*qMI5}V+vR|E=p2En%eA!~$~g#y?wV(XH7|Zqc>B5PuvRaE0;dDgUFqyLRSUVe zM-ux`rK~5zioFXsXphQ}e}dil)hbIQ|(tZ`?No zxEg^sS4{MsIF)d5l{|w@iV*6M{`|Kbee!I3`#Z?=ro5qokf1UcfBe%`So1>}%syXj z@tuo~;w~ZS%NzJZFA_y_(dA;`DL0E)$t3 zg@`Srac2tYcxPel(|0%sMe(#wY!YC1WH?1Yt8Q4^X)Tvn!4paX2!Qr|aP{w(1Fg1M z$6&01CyPaRVapbfe@wuy5vhVa&O?vpa#>IBO$*`(&56j^-N_{O%d}k>S7Hay!bdku zH1YBD_+UNZ+fFX>W{iawU+IQjd-sABXI?ueO%Xkn&1B!WQv=5*NGU5DpO>B6E>wMs zjxP%JuSx}t94pP`mC{ZAqN*)KkwosGxv3fED`i*+7vgF}f1-D9%b;wnq({B-)Q(C; z?HAFzME8DBc(6W^+$k@xRIxU-{3XiA5gvJL9UMLW6Fj$ZBShlRyBA!`Z5jB8WKq7{ zkoMykBooo3G32;JA8yo%nQQVb73Z;^gjVqVzyO>ZJne&np|j^e%bMS2XMcpnd>HujsARA=Ul9XvcewOAKb z*vfr?xV}!QFAYPFvV1^m%vJUFq)BxdW87yGV delta 1195 zcmV;c1XTNi3BCy-iBL{Q4GJ0x0000DNk~Le0000U0000U2nGNE06Q?QqLCpbe`85R zK~zW$?Uv1JlvfnS-^_O=9|a3ph!M3;$d{(XSY%LKl)9+4w3|Q*illAb zFVof4m35z&){C6)8y_Ff#$vI|?CfkB{p(d(#jH|QLG1VY4N-f0`-@6g<<5Oh71o`t zycuH3s;04!!DKS|eGW((U>C>` z(_D4jsYL)U>CUj6)jFtBp;oLLS5B`)w(k3q9rA9?<&KEVEt<_z@8~M{UM=SuR2@Dk z11DoI`mDZT-h%*kyV-9g7#sWfiHV7+{{H@|s+dS=sG}HM#bJuMe^HHw<0PK-jqb+5 zA->nUtQQExhvS3bb}%cbB-mrv>;U%zm|e_%W}WFNypQdLj*brbDvxrh9gRql0t7#y zOJj5zxu=ZL|A&mA&*-TH^9<4ff;dEDUPsrfM8R7UMvxey*#1m4zL&xoRm2!7TQ81A z$S4L;5M2SMpE1YTe}9gn4rVz&3uy%GIT7hfbTzCWAdf}Dqa>a2$HVjGn#4L#HW>be z!Pi85l20uvrx3=_PqV&`!)F9?hXBrrOaUtxL_vz+bgAMd7y|TwIWsys8WKlU#xf>j zJ@$jh9t_$bc>>{8_G$J3<}6PB1iJ;2HZ_}j5a0^IX=89PG!@XmpnpRm4)_ zvy7OF?chXinwIZ9~_aB%ZnVy~==2vWpAdD}vHeXT|u}($q z01cWyMCvTffAh*_JGkG-uB?|GL%-M8AbiQ%rfOT&U<#O7m0S?0idcY>1D&rrNjw zadkg-c6Q!yd>di_zw@upAVxL+NR%?sD;457JT*5rH-jJjtVUE;4Vp|@PLcTt|IJ); zNHwqfSH*4o`Wo_PI(;wt?GV~zJGZp7G||`Br$&1}Hl_lv0B4es(Z>?1jQ{`u07*qo JM6N<$0fLXHI&}a5 diff --git a/Example/Media.xcassets/calendar_on.imageset/calendar_on@2x.png b/Example/Media.xcassets/calendar_on.imageset/calendar_on@2x.png index e52f6a2206478c31062d5768fd6200a00419fdbd..3b75b312d860e6fe6fce32082917a23cf70bed89 100644 GIT binary patch delta 2448 zcmV;B32*j`6q*wuiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj#Ae?Lh? zK~!i3?OA(_R96{4k2`l}c3Bo=c?i4ggM_v~u?x#KghCVoN=vGLSW8Nyq)L4B(hN>l@5^8aQ#TOE&utArXq{!|po3al?_BF42&pH0SyE~Vi+1c3# zL;p}ta_8QA&i8%idw<_O!`Q8He@g@Z-x}beup=GtJq%;(|oQuCbi)MF;6dZWF9AkbVjd8*Bav=jx zVw=1UUjQO(3_sh@(sGb?f2c02jKSw0#WWYn9R6EtOZ{ket|>3?WK3REN*8J)J~$b< z_ z3P%_X+BtJT3Uo~OGyyU&lczg6+B4=x^Xi;zYl9U&o{@i*d^~*nf4ig!VC3~$;6vo; zK_im#L@JGp??O}tq~@Qgsi;y+^FSKZjlKxuaArP5xiim6i1`8_bwUDhFHCYTPqWL7 za!>eRAHP&AQR4GK(5K-GKr>K#LNXKANZLL`9v%cZcMY>$#=?0Zmqx-DAZavPH@QTw zE1s;P`g-q@20hM~e~{p&p{FD;U4dcxbfW%Yq(F76^UHKg3kIDnumagvZa~G~&?e+n)e>{vz02_G~%_WPut`1w4 zNW#U)-DnhA))1#g5}?jDZ9DisM+UVVSHG*G&hKckrnIzHNP9gfeE~wvK$5i?8Yp3; z0kAWB^!nzHDsJ>+K z5yM0~wX%Y%f1tMmmz%>%J&UHU=y)p*hz5TcymG z;!0fsQ^XsSkdg}_+B;1B%=-O%K@_OoQvW`9uC&8He+Tnh=a-gNm?=~DNhuzKVT&lX z)BGvL8SXSs>w=jeq;3A=$`yk^a`(671kld(l7b1(hDGquL_2V>Dpb6^>`+~! z^X~5I5{mqn_#n&kO({)lCrd0xlA+N0)kQ* zHkH;BO0)KO>`yZ-_Q1r#z%uymhE$At-@i)r*+OjP4fQcpu^%CX<`Z7Fp&+z(WyDVk zwx1t4U2^>zzB#7Sd`j8J!f`0%8Zom(e9DMJuIBt0mR{I?40g+7`r1gLuU|XL0F5B_u8*Ji7CV_MQacxP$pGJxLY`L~Ca{l`fpf4qgnz&$&Z7njfln}uzudmes}05I8+vig0e zgryhRT%Nv?NbKx#k~}37fhy*XW(B04sknCsE2m2*l`xHEX8Ddf1-E^QSkS`!KrcJT9cke>&UZ zVXm#u_r=YxrXP6!%UT8M+u&m8KJOMp-F)@u#l?lCyX;f689iwvDy7wG9a&xbBpk0(g7D^w7um{g0=zdrD3Dh%r3$iuSx&&@*NFuQyCau0#_c=fsGu-8z0qm4VV0Km(Fn?{Y+ zQ;eq;ybZbeB)#J+plwLQlmZ;M8$|qvXU;H{O!|r;3&f&*ED=Xo_2-N}$pdOHeddZr}{^g)Qs3{3L4njO4p0#Lz$ z2=h8Wdw*qLze_B7|Ikctf7BMr~zwT=Py%VC?kL9h+H_?jLv<0Tin9BrGfu#4g42?socwTEoX56 O0000Qs+ z!X;M?L1WZ=Z@_`camhoxL2ejjDr#gRlGHanisu z5gA_sSTc5Yb#;|H$J6<2NBHpJ!xM?#-%&mkXTV@E7`%qQ8$+Q`0OOBFeJrKTz%%2zwSxmeKko#M6bMwZfOP5Bi{#3U%U=+dr=X23a?%4a)DczZ}jsmd7A&o&Cr zpA%q28**j1WDA@ksv<`Ye+&!+O2!!YFGJp4g@uKIQ>RWv0lsF&e~cM>B!d-v336`$ zbTT4GOzQ${Ng^ut;)Q{`y1Tod6JVlz#G>)rGCfZA_xG>q?CcD~->odMczL(=Sbd|} zCIpNjw#$j==NO?nqEcR7ehS8ac`@TyTaVXxs{4HH!>Lv}mhv)yP45peXGeXDkSsa+L(WKn_~ml}79)m)i13Aeg`5i=4h^WLt9Sy&0HxZfMK)dFy!5zMY0_DAKZ9Av zN-v(2^_lYf5U84#;)<}00IXKdbmdvP^cW6xMK~>P9z!J=f52nteC-aS9st)I_6t~x zo94UrQ0BbNW-dhbyYsi)~Oh9&Odt)iG;q*REap?rnPTGhEteeJeNy>_W}GM4vX-Od@%=- z+j+hZ`U;+Nf2C8-lrFXAEliZ>V}}kM+63^8wY9b1CXjD;CzV1dRzy2w7z(atuU-i7 zWhg%&gX9dx|Bq1%t%|0-L(Yo;zGKduIY$9|GkUghExeAl2AW*P z1B@#J>{eG%=zt`2aX1`)1lgYeeAR{x8^TT<@z1^if6F+G)_3i#GiT0xiFcJCDfkA8 zZ^x*10j4hsz<#Q65r<))L9>lYtfI>?lK*ZXK5o_tc00k=; zi}1dpf2ykL?SlsoZstbhHUMf4#!w#O`Auk6zyVuzAu7rUvZI;t#W>^__@9LT zS>%Oe!$^v3lw7iJD;VzK_S5z83x^cZ8;QwiC zY_xS+biM(LL7rEYa#emocmpH<*VNQB4P^^?Hsli74nQrRK7D!zeZSDT(-}3TGKPJ` z9oI+VWo$J-vYj-BAoGuOA^#Y%n#|hj9FKn%X!PGr#@-k|mK0zyoAd4@#wj|>=qkda zfBz+_lPrU2i!f{vx0Tm1z8`~c;=KVH!%-Nd&(4?U&Ye3*mfTlRP%sTANxWwfpZH1B zd8){J-pmqDdPSOXMRyfbrPxW76kw$j3fr_YbA`K>d4D|)_!xs0Sq3W_^c8Te`x-0l zRung&Fb|#=;q5aW){Ij=HGkgu2V+i~e>|U&8`UoossQ>Ul{_i`=tP(7xB|XgoMcG> zMo|nwkE8TMJogll-9mI~OphATW4wpjMMR8j0Pqz&7m;4No{cJ6(0?eydA}B;E)svL zi)4~L`t527&o)lq2MJM&nZVT||7StzQYd7Af~MC}2-;Zz^rGd5cNYll`-um z$pI#EO4<1U+m4a0n??jr5e-p$e`eC8NlV%Mo9H`s5#}7nEIEOD>C-rFZ&^vCBSv`HrxR#pns7Wxba*N>zCjW3>5K(^iW| z@9Nh$&XA0#Dwz`EcP9JyVK149`j{fy8B;Y1&Yg;E7hnydOZx2tmT$mff0oCFTTum4 zk@hMYLq?cmW0*a<55RqLh@S$Tw@{do>&iIEG@Tt~@v_I00_?}Iv(X4Jb5E&#A;v_B z%&&d`D?6a8WnaI8*5x6(Jfo|O!ujp+YZ@74EC2^du?n5s70q+rypt+=qPhU`8Ra4EY zD5EG}Isap5OaNoVBGP#>pM+my?C08xQ(ctKIOjN#-{h2?cEIL5of6JzGZgnU@=J)7Y z8!yZS*jy1OD-x6*qLA{+eC*M_iH-;L#Y8k#GM}4L0a~ey{7$yd$N8H3As+A^ZLHYN*dGmf0O`>80PDC(P{pRJsoq(jD(43;+NC07*qoM6N<$g6L@Cvj6}9 diff --git a/Example/Media.xcassets/calendar_on.imageset/calendar_on@3x.png b/Example/Media.xcassets/calendar_on.imageset/calendar_on@3x.png index 078f4ed458a45ff7dbf52e28275d814810e80ca9..29131ae4d47c848b1ed72c4c07fdc986e0b3d7ed 100644 GIT binary patch delta 2528 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 T{5#^&00000NkvXXu0mjfCMPT< diff --git a/Example/Media.xcassets/location_off.imageset/location_off.png b/Example/Media.xcassets/location_off.imageset/location_off.png index b7b5d3e9e1678a3219469884f17f2c4a24ebf7c3..f3073a441e037a5e3042ebb9109ce636ffa8f45f 100644 GIT binary patch delta 663 zcmV;I0%-l82d)JniBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzbe*#lU zL_t(Y4c%3{j?+LCow3KnPFDLD2$5_gD_ZdjP*O!8R$DHw0uWFj=xMhB0R?DjK&iH% zfKOlxlvN%Te*o2@#IZdO?lDY=5|4M0kPwVCnLFp6dvE587S)kYJe?_fU>#;BVYc(2L>mr}$c`T)&q%E2Kg$WEkaKK&m+r9Gy9`h7PkU$u*!Yi0s4?TO+0KJJFq>veWCIeHOq#8(SP$&XVaaAhDL zPAAjP)KNvkJkJ>>k^_SeoRYkAsItK3na!`#$U7vH#AVw78yI}xSiEelEP#Nx9lxUo z>}3>1^LW^4p1y)_4mylu3m`5_vqy9fg;a$!WUEY7N@MGts6eOFZTUhkw!0*Y#)J*b zCi!FQ;o$H!=I6`GW xlt5smMAV*Z^wgf#?8ldEB?-actl<9@@Evij9C@M|q)q?;002ovPDHLkV1l~(HRu2U delta 906 zcmV;519kka1)m2YiBL{Q4GJ0x0000DNk~Le0000U0000U2nGNE06Q?QqLCpae*;8G zL_t(Y4eeG60tPn(~eH@-=_vW-c0W1(K04Vjnb`&S z-}Wg2>@Rpa1ARjyg5wFrScmF>e>fHjAM`oi}*(ho*EgB6fe>CpdTBuZ3 zN$X}QUmV^{Z=aIV8dC~CGrbu^pnyySBhibtezV?aCa~87mKYTVAJiV{A4oZsjxRs6 zRmk+0*7_}bT|SnbxcXYRy+2_55FoFN+M zi$-l@XHSRgtgfdjn^LPJ+gouVR^C|(OPWM*9uS6@p`3=Dq@lxu)8yc2?U+$YP`z== z8;x6rW5(^b diff --git a/Example/Media.xcassets/location_off.imageset/location_off@2x.png b/Example/Media.xcassets/location_off.imageset/location_off@2x.png index 51977609cec8685b75fa55087bf6cfadc61eb756..f703dd5b608718e785f51635c01839f37c14c0b2 100644 GIT binary patch delta 1493 zcmV;`1uFXd4&@6WiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj#9e+7z3 zL_t(&1?^c)Y#T)s-ktT@Ym<-zzu}fkMUyyoNvM!2@uwmMK^( zdL!V0<@lFaw5ZgcC2tm;Wp>#U4VnvnqKqmhSr#(JTJBWsE;|w zfRP^r1TJubTb8NxWADJy($YjOmpgA{i~)Hy;TWxCg$Mk_@$vC$l<|7KUecNVDecBX z^a8gb*frntHyy`0FgZC{YYP-Qv3GzRJxC``hx2fN9J)@ceRwD5f8h&czyJ#!@n9jq z32rf`+QtrmGya&odN72XrxpBSYHF&|%`h;)LPvhU32u2#r5`H*%2Aze**$m}<%jay z_jP|>p4+VtEOcZHIJdbwBa=Z9{a68zzE1xJ4pI=y5$jkFlePDovjw}Z! zxaB#Oey1l28U{DcqS};q0R>z(mwlvgXW@0C*o~6`11xmJe*>;o1?y?&#GGooo3Tia zt*xzJ=>)0LW!9D>73eHyCNqz&uC9JusZ>VW!tD;`AOi+iIeowdPP)i`3F~zmcWh%f zu#nekwZmr4oTXLka0Dx9W=*Z>G_Ozrw?ugH;W9#LGf6tbO_$Dl=@^C%rBh&g_Dkil z@+ZQEY8$)ue*p2R;;EC<_31-}eBqGmxNTc-3}Y%4hAq>2)(>tT^#*I*)Gb*Xyxl>- zPQ&@;#KMV_VVTM}(GGx^J|D;F!{l44Z61*GS;eTpP@o#sPJhsc(9`spSr_wh+Su=a zAcsLR{4R~T{6Y(Pw{}~HgCnW)u#q?bD6g-t&w5Soe{1=L#=Ob{9q58X1-}y}aS91S zI$8EodGQma)4ky$Phi3=N^e^E>vV-bUMv{88SY#T;a5KdGmXaB#7{e^?q|1K;B#dXsM++&{K|Macd$E&cfW zD*paShZB|4st(P6Ie%Og+sE}+;9pvS#HY~Q++2Qibo2u&Zm_i-QtX5KE6`to_6qzB{WpONiq?B!00000NkvXXu0mjfW~|yN delta 1903 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 P00000NkvXXu0mjfW^35~ delta 2120 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 delta 906 zcmV;519kkc1)m2YiBL{Q4GJ0x0000DNk~Le0000U0000U2nGNE06Q?QqLCpae*;8G zL_t(Y4eeG60tPn(~eH@-=_vW-c0W1(K04Vjnb`&S z-}Wg2>@Rpa1ARjyg5wFrScmF>e>fHjAM`oi}*(ho*EgB6fe>CpdTBuZ3 zN$X}QUmV^{Z=aIV8dC~CGrbu^pnyySBhibtezV?aCa~87mKYTVAJiV{A4oZsjxRs6 zRmk+0*7_}bT|SnbxcXYRy+2_55FoFN+M zi$-l@XHSRgtgfdjn^LPJ+gouVR^C|(OPWM*9uS6@p`3=Dq@lxu)8yc2?U+$YP`z== z8;x6rW5#SB1YtW#^@=^jQ&=}DJj;aR6o=N`+Vun@}I4+?a21*!1U12 z8OC?IOR(oZ> zSoH0LMT*2e9+R2Tvqlr+f6*Au`KOTOQ)G8%-1KrZBjIn$nRxAnaP zld04gGoo`)aeADKFo>j(GRte~?S(tJC8x~pPYh`pKfM68iO*#AXbkYaw2y-MmsUSe;r^_zR>8U6-s_L zzp|2bk~iuj2C=#fIgwkR_Zs_k01i_+qLV^82*&wEeZJWkv8bcVA93rOqr+Td-wrUs zdf~Kkktjk1k#gBJ*=hh-OUH=;PK&#B<#lRUeZLM6MM*_xVM;L(iMZYi9pfA$7ImC+ z*l)zGWAt$yi4M@lf08J%4#%i#8WuL73O(bM}tiQG^RT=O0SzYY-C`URa6 z$|5C-y_F)QOPA?m3j;+5X|fpTG*OI2mFPtDghN zS>xijItx7}+}r2@Msd8S=kF+E#~EYpYcm|N@XQRv`UVfhe|m4Nm&q&u{MRJao#u`Ys|buq~e)%AAIz{~8vqi?($l3$X_KFs~%Z zp$?!jklDxJK9sDBJjmfXA;E)pt`>6N*lV=g266z%&8gwc1(O*k8ySQV)rqn2>K8vW z5*_AJT)LLef4vUF8qWE7>LS>tGOr5$p%7|S%LYpw4MoSCpGL-`E^;6jDEc-Y7xVoN zSQf%pX?uGknTTK4DNc;+0C6I!dTtq3WCgRbSVJ zMo#$I`9}KoTn&==oRo5{QB|@*C_@ZqR_X+*IyRTxhOz@l2D?y7#uE}EeB372Tgw5Z zKAz9#e}2?uLC2vvfCj8?-OmohV+~UYQwM%d{`@F)0#_Z~(Xdj;=B-vZn-x;sb)Ll7 z$2pWicTZKvUdV1k-2o&mZQtKW9!ON-vUkE>1TPlgz`4cS%YhFpn@ewh34mo4Nk{5QM*zVWX@-+veGKQ}uT@8bvrE~8gcsjlJCBVTlx=Fx|o2MPh` z63|`D-@NhObH$>sAM^HtfnTuhzCI|y#?f9gGL6@SAWye}4k%)A6^lVAf>(&K?rvFP xE%L7ig2x{4;1^2<9LN>O`i@d30-Xque*w6*F_9Pm3n~Br002ovPDHLkV1m%e#VG&) delta 1903 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 delta 2120 zcmV-O2)Fly4bu=IiBL{Q4GJ0x0000DNk~Le00015000152nGNE063^Y0+Aske+T$U zL_t(|0qtB}Y!pQtpV@1nSCH#nNg5H`0=*`pK}AhKK@f@hg1o42M$3nZ7||#%BpQw1 zMl{g`KOPjt_~L^G4KYLmJRq1Leh~GccZIvQ7E!pn7NytrZpYtTZxh+uyPLh;o!!RS z2d4A?n&1D&?0;u=wk1SeiUGxde_}u}pcqgLCWsXce@i8HBUZtA zJZBLCK{N=y4&~q@fLZ1&ol0*;$Vrr$2SE5wm0Ed{ki4O+M~W@#-AX9=j1qcqb>(lsEvf5{KBeIXj<;vvlB*J@DWor=<1!_oFLC?hAl8>BL_^oL=j zt7o~U(WAJXXIH|JBVmM1FrBT;rISC(8Icf8)9e7n zbE%O!qhnn?PY_Le{l5T2e#R0F>tJ>OU=Qnr^%F+Mz}7sC&|c`)e}cL@p|ek#u0NSc zC*Kgk;M7JQ(H$LgqTxsyTjq9A(0rQ>fV=Z-@|BC}^qFdYtzBK0&nB~Wg8XfKdtS}X zEXS7qe0K8hPBJob(X4a3FRgS$TOxgSNXD%FgEF={lS({Ri)2m+*Jsm-?cARGiIT+e zM4RVs618_?Cyi)Af0=kfAgfR)uEuSB%uaILp8MG$+ZHZ6U`)1Bh@Q7_aU8ew^`@~c zyS!X5y>Rc?@IcbippKCHasTPJdv%PV=D0Y%`j*Ztq!1ly($)*Zr1ahF;He|R_7;XE zf5fp+S&D4ovy4z*D1~Uun^pCpU|oUPJW&{bNyN6E4UZ!_f2&3D)f=;xUJ}vds#+in z9Ue}HE)ETi7=0%#kHg~$#t_0M7|YU364A8Fa&(grCnbkXB1c{Ecw+dRfRRKrYZC!U zHEc#)yu{;);d25_3ekA73yp&lkx3`Xn0-a#iQ+TIx6>CQz)nCXws;58>crpd>vlYI zd^>$9MB{DQe_tY?C?iWn>_lxuFl{j)ZWUD`|~(fI!l=ie3t$Ke?lolXGR8w@a|W5)`T>=H`=-6 z76JSfCftwvS176ouuVV4@l{c~CYC}pM~es3d%~zG4dauruiF;&+%N0{LvGLg@JcQ$ z>cA6NmYC&Mj1z$iULr_T&8;MnRi%*I}vs@#Uv z#gcmdR(hSWP54x7kCo1CnN*?yo<_TSk6`BA>~CpivSNFkXc2~~&Vjb<{Je>)eBw4(~pb>5615LIW-jHXY0E@0`J ziR{v00B??V$B%>TYYl;{7PbE8Y%0M&aG#PjCLc$3=`eDe(sg~a_)(ML=B(x8>BZs} zM3G7|M=iZ{7*tJ+X3vD%+UHif9{y} zZ_L{(uRxZLau2`tGRb)ZX!L2G_2`)6xgdlO2? z8bfBZ_%!#0>|pX!qaW0ECX|jccRjPC-Sh-jAy*q@VwLf0HpOlrB zf(5Pk+UX!c>wa(*(agXMDtTt;s;?MO3@8Q^1BwB~fMUQ)27KFsvke=!;}m6`m&sYj zW(Vn)``)tFc_(f1E_A)fbU9uU$v;44G*=Iq7kahu_kvZ6n2Kl%QoIl;qP<{M#Z(L^ y1{4E|0mXn~Krx^gPz)#r9uxzL0mVQC1OEbQ>}N*~>`Hb30000mzce+o%N zK~zW$?NnW8TtyU~nLBf5vp@OSpiMN@6cMWFwlPEm^B5%*L_``WQu`vBw?yzkt6-w` ztA^?y~}dv z&N=5h-*?WLA>{vOp9;{WrKR-1f55pz=AJh@!%7fPvW_vF33y~hb7mti0V zKSmjAclf(?NJ0uGR!Zg#a z>r$=tUUFlMBV6$@W2_(RBybL3y=RZ(dAvv_lceD_ekYuqIrh}CV!UtPfBAgAYinyO zn3$NT$NLKl3(3L3!4ILN%V?uisLbY_&CS>zziDBua59}tU-o?O>%b2_9UdMo#m0?| zjb2DUPbhhj5*qs2KNXaNpHdH{-ZP04a!Nv5TXGk1i@xWd9~l|>EyjSEGOyuz z_wL@CX$Q9skbXAZl|J2(f9&W-qD87H1^6-&PUE{D;11_pK!t;3htQLEWJ2C76bjGn zC5RV&eSI=s+xPtZya31xT4~a#H-5zW0vG&CFn?SJx&>ev=%DHQ{uQ`u*d%)7Bl#fX z>>83BvN%yw?DVu+E#Gd$&(zeE2D4w$Tmp9Iw9(U0dk~-oQ{f_Ee*?ZB9L*g)6{z5C z_*5Lnk)aMXclbf{`y-3Rf-neOj6*7w8b?t36d2V~v*mL62Qb@${8ubv1Pdu80q6zr zy1M@J`lTQUzHO=2SxW|Gb5)@HkcKanN~On`2!%m_M2_pF_0l)X%gdQq1)6oUvQrty z_rqY_gGO_Zh|Q#0f2}HNs6>x0a>h@fT#*fALJ;ZFR3C}P6wM@HNivzt2~5QL+}vDr z4rXU(?IGG-TU$#5cn{g0dWSnRo!QQ?TB)9Ml1?qb5}yN0%K*Oe|a4bw>>2a4m%CFK z0t%HrhDKtPe?J=<8k)K91o`!Rf5IegfaPIZ0+cfWFa^c8K<;@vx?pYhCDfH_)!O*j z*w`QUoxm!@ZF!gp_7x`PS%5^{>_~KodZVsv{{$BTNxldB)3~~$d+A>#uu1F~XS3Ni zpyDL{Poi8YY}b&$4#w4bz5d1M=%_t}5B5w>PC6?qCo7K@i^V7G8))r^^ufUYThV_3 XsU;oQgfTBi00000NkvXXu0mjf@eCGd delta 1243 zcmV<11SI?A2<{0XiBL{Q4GJ0x0000DNk~Le0000U0000U2nGNE06Q?QqLCpbf0Ic> zK~zW$?UqYu+*K6D|MPw~>5xKvfD26~FCvA2uZuQsJpDS*?1KA$h(@pv49$Z3P4iF)Jft?}R2*w~nm4Qt2m_dD5a_Vb;5 z3~(lssd&BKt$aQoD3{AlBoc9ur#d=126l4XuAiBiXd>&35Uw3M%yAbZKK_<2VkFx3sjZ+cU{jD%Bf}MlWzS4vjOjv$IdJb|asG;veXZ zF<3iKr5~gJlJ)o4eKt2YfA?^G9J@BnC7P&q3FQEloUn&h61QERL{bB-t*s~7mu$>`P|ZP&0c%i|2cS4c4+t~`$nyZc zOCr5Ap+NiqgsD_dB27|zS*uT!Oo?mgTUc07k$u&8&Q3t~+(-iXf2{(LSJ)qf(q8T{ z%R0pL>iIA}p!yC#e*{dgLwE4d6SQ^fEBs!*Fqjs5NI?F+SvaVi4b!@Zq@ zlJ{u18ol!B>gpO892`6e*nI+H`Uzq_7EtPAeG7^GjA@efYb5s}(j^<&BR#|qlVH2z z)qu5uN;7#j&jRqYboHaZzrRS3xa{muU8gmkb%w)XrUnh#w7xcYk^%JoelOU@Bam^XpZC$ zVUvTEFw$G~e=`*mzYKUv{sy?Yxp^g>PT#}cg|YNk4Fb7hu~?q2-b;lm*u|)_Opt0-3d~&n5#{kg0Ed zmP#+PzD;+kO2NpJM1&;Y;kWrk^yY0{n^&cDol*S(IY{8|_%(}EDbM2KC-AN8E1W4I z56Kx&l6u*KD)bFiY;#H`lcA=jCROnqSa+$Bkmer=?p{ytCjj4~@kXqVmH!La2I2R( zfjiz0F>o6|5dg2yOjB!XYg0WvJ%2xX>#!?#8Mv7Y`~}m;h>vvJ1a1HT002ovPDHLk FV1f>uT|WQ- diff --git a/Example/Media.xcassets/price_off.imageset/price_off@2x.png b/Example/Media.xcassets/price_off.imageset/price_off@2x.png index 395094d5b635eb4f5dfa61e8d7221bd0e0e0c31c..85853ee3175ac40ceb1e60b66ad4b10cbdac0b70 100644 GIT binary patch delta 2753 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 diff --git a/Example/Media.xcassets/price_off.imageset/price_off@3x.png b/Example/Media.xcassets/price_off.imageset/price_off@3x.png index 7b8ed1343a5dcb7ce8c1c2e0feda735c6a544bf2..b9b70e1b2faa2e6518bf2cc0dd076b0be8bbc8d9 100644 GIT binary patch delta 3093 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 CcyPP` diff --git a/Example/Media.xcassets/price_on.imageset/price_on.png b/Example/Media.xcassets/price_on.imageset/price_on.png index c4f2b0be6ddbdd0bd14dc222fc5ceb3da5d475e3..d0b0ea302a5de0c099e5950b8ae1ee166b7224d6 100644 GIT binary patch delta 1187 zcmV;U1YG;>3AYI$iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzce_TmK zK~zW$?NnQ6oJABqGxOhe_ut(n>E^Ocvb(LJMT@bn5%ft&G)Scei6B_|;w5jbP(fpY zqUJ%VRD5Y4L=i7kDHODX*go{3*h)y#*h(;gn%gE#dP&&qZZ`k!|IdtPHr*H>Y})r8 znEhwZIdi@<=X_@X9>^vYAdf^Mf3{_XYXAzHxZd4N36VoHGb!|PH+qs}BJnaK?0X?( zNl&Gu8y)^{FF_I@gxs-9B4trf*mG%ea(v?%O$DR`3_w?g8}7+|PQ=F>oeG?D2|BSD zhPWemj)7z!Ax52)!jI}2A^x?O{j~CCEjVA`jC2oAO#NBbtFLTtuY@%9f5_lKrmT+w z_^V^F_lbnCCZ+2UA}&u)|6R71zZw<>Zznky^1GtspIw=l87&)UTU)DiW*)r-*W|&B1*ZGtLbd|(6yzd z^$e8*BSv3HHx8g3Fo!SOf5%3N5wL%&F|6(F!B8P-hgc~U(rCcs?CX+e5P?R0X zc>LAjsi{E~W4)$9!!VViEO;|rP}=5V^BvE-+;wgI*u2ZXX|Y4G&l}^#*K6v`Cc|(d zn)bs^%g4L${}+w1LbKnF3m_*Sjl~iw);d78So{x9vFDr$m^CQ{e;we+aNaq%!{=-0 zsf~(=rW-4q=edBM$l3n=Md7`b^StG1-7tH%HSl`FY+wK%t^p9_8>4zC7;N1Lh*WHwGmx6UJO?i1i%Z) z==Me`K?p=Mb*7(se=?EyY3J6hL4~ZO@!Z+-m4vsQU(Quy;EKn6eyxc8D9g=!-lafH z%M2c;M0OU002kMufKLXf7Uq=iUM~?c2{g(&ZQFhu11S2I78w}G6r`{*3F*Ufsqm|u z<5ZACRaU4w?Yc*b!a0m&Oe3QJGY6Y8BcN$i5E9amd^iFMe@B!KQ%QPS;yXIA2RNue zgp?yLh?6Sw49?pY4LgDcM~YqyxOoWn(4p*Cs)-B8oNj`gVVLY- zE=%%K+%_F{e^tZj`wL^Kbys;T9zXTVa{A3@LZL#PVVWkPy`cN+!e>sualP&N<2q$s z>ef?5r*Jy6Z0aC?9J)2Npmg^n$ylsT0zHRR-Stjw)M>K(mJrEv6l-nen|o&i)A$!L5RH^{eJG_B<+c{}7j;qyb(vh+E}afk9N@cT+u z&${kKD)@onRI2nY-4}oYQ8W(N_G|bSy@Ks-B9sR370q#gaV*OTIX(ULFhE}UD!Fff zwPU4U)?8m-i%haSDV-~`v-7B3BgzJ+2ir|6@DC~r;qIK!lk@-p002ovPDHLkV1kFH BIE?@R delta 1243 zcmV<11SI>n3GN9YiBL{Q4GJ0x0000DNk~Le0000U0000U2nGNE06Q?QqLCpbf0Ic> zK~zW$?UqYu+*K6D|MPw~>5xKvfD26~FCvA2uZuQsJpDS*?1KA$h(@pv49$Z3P4iF)Jft?}R2*w~nm4Qt2m_dD5a_Vb;5 z3~(lssd&BKt$aQoD3{AlBoc9ur#d=126l4XuAiBiXd>&35Uw3M%yAbZKK_<2VkFx3sjZ+cU{jD%Bf}MlWzS4vjOjv$IdJb|asG;veXZ zF<3iKr5~gJlJ)o4eKt2YfA?^G9J@BnC7P&q3FQEloUn&h61QERL{bB-t*s~7mu$>`P|ZP&0c%i|2cS4c4+t~`$nyZc zOCr5Ap+NiqgsD_dB27|zS*uT!Oo?mgTUc07k$u&8&Q3t~+(-iXf2{(LSJ)qf(q8T{ z%R0pL>iIA}p!yC#e*{dgLwE4d6SQ^fEBs!*Fqjs5NI?F+SvaVi4b!@Zq@ zlJ{u18ol!B>gpO892`6e*nI+H`Uzq_7EtPAeG7^GjA@efYb5s}(j^<&BR#|qlVH2z z)qu5uN;7#j&jRqYboHaZzrRS3xa{muU8gmkb%w)XrUnh#w7xcYk^%JoelOU@Bam^XpZC$ zVUvTEFw$G~e=`*mzYKUv{sy?Yxp^g>PT#}cg|YNk4Fb7hu~?q2-b;lm*u|)_Opt0-3d~&n5#{kg0Ed zmP#+PzD;+kO2NpJM1&;Y;kWrk^yY0{n^&cDol*S(IY{8|_%(}EDbM2KC-AN8E1W4I z56Kx&l6u*KD)bFiY;#H`lcA=jCROnqSa+$Bkmer=?p{ytCjj4~@kXqVmH!La2I2R( zfjiz0F>o6|5dg2yOjB!XYg0WvJ%2xX>#!?#8Mv7Y`~}m;h>vvJ1a1HT002ovPDHLk FV1hIaT@nBQ diff --git a/Example/Media.xcassets/price_on.imageset/price_on@2x.png b/Example/Media.xcassets/price_on.imageset/price_on@2x.png index 395094d5b635eb4f5dfa61e8d7221bd0e0e0c31c..35b88d5b8bdf4561ce987e42819fdeba373d399c 100644 GIT binary patch delta 3029 zcmV;`3o7)d7}^&hiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj#Ae}73t zK~!i3?O1tmRn-|k%f0u#ye)YzdwAi6fG7XB18x>ZFO|)w6?L%=+M!rU39Q^ zY-{bbGSji6ElyjVF5}jYcC@WUBSMS_6Af@Ij6t#k{4be1WLxbj55N6@Iv_0D+BvPT*6}30=ou zArhF0;~l4dGEU7RScDQu)KQ1X8;w-*&{Sj3hLzq;n?O`EBmlDo{ zXR^@Qj@f7g3ZA_l+d?EO>i!e|Pqn%yVThm>cp2mJowpf}JXeq5(xDwq$Vts0$c+*OqqU z_V$*&nK@Inw5ELad~VXc<1wn#5#X>fDdBLUT)k6`!Rvtfnfr{O#IwZ z663;9oK}%SpC{s3OBr9o7%LLUctYYIK#y^P5j6ybg`<=Y0qxd7jerOll-&rKuCIwy zyp$m7`}dm@`%cHTbkpNyk}Nw&|7o z=arU5{1v{(8RIJ?<|G`)F16gr1vxoGmwEmCJh!XJO<4de1wQXe*~4$ehWq!#q6Htu z;}i;eO=?`nq+E1yB=X&NT3cVxduP+Q0_jdg&1~jW&#?6!f2f!|2~%gt0wxl|dAhXg z@Pil4m@(HfU4MZP3sM;4;cV#U!XkU6KV+4<%(4_Lt!E8Iw`Y{9vM1>0UDeedRPIY{4cak6HAndu z`(jkA4R&;Re=NiG2M*zr!jTcTYhYbCqP`X?4CPyfKL&*W8C^U99XV_(F@*P&hG85$ zPMPa!e=zuP`7B>;AlL(F3qa0~`n-NoB(f^Ar*1!z0wsKA4r=AN_jKk$z(EfA!#Nu_ z_RPu4TgN&3EQD8;IXQzrD=l}=bLZqH5jR?JO_rV`e^o1UoI07ZS5m2-$uma*pyMC` zQ29-sb9YHe{_4C?pA9A8O&uGLR23GMq!+=zkEFni9Rq_fU$4#_nzS$wY+Gq#!-k8? z%dg;s)oUSwhB3Uhc!p7AxpFjQGK4tMfou~h8;ct^{xjUPX?s%0enrYc7V=N@as$a8}7*TSG?Zv!jWilxhtMi9g6W4yiDNQnxH9tGGbVouGg&>6ryjf7dEI{zS}i_IV9M=kES8hrcv096k@4 ztb%Z)!sSX`6Ug-?TgzvXz${s;ygjVCmBE1>0WhJlfN7 z4}{!dju}VGp%X>9>GEC~$UUa(73aLvZIGKZZ(ISL2@OW;Ya+AOUp#YmwPsF5Gq!AL ze?!3CoDgCsf@>RTdZ|ChFjm9GULBm5c>P0prje7j*w{h{P95kyk|mmSSNHO3S95MO zg-ol#XLuib03uw}+#H1{f7cMqCV`i_+`JGYbXfOOMwg(m#ud<-p?8kK`JIf)Hx^e^ ztSc-eK0WwURJpmKxz90Ir5yV{m{|h*e~aOLVj`-S_yhiA7Ie~UfTzVmB~D8xDdK?0 zn6@@*VD0V8uU*r9P2Kf~?ywd(oAiWY)0APC*{^vJcW!kgl0TkF^kA)o9*Fekg$(yr zcxHui$)Rul7hcr-$!Ol@7yHn!eiQ^UC`$2X(jaLz}oG( z6&1HmGUTML^9u^xs0|)H7X=N+13FOx^lP3CTbqXb>EUH{U;ZtrHp@4?ytlmZ)hCKy z+i(LmU34^&_!~0P@xU3|NzX-+e>Dp%BOtI6r^HIw_HhV}jhoQuNtCiX^$BtUW0Du6 z7xo`@Amqr(g(r*!ib%k)3jLP(>=#y)Z0=ZA_oMcuwU?3VYNG_o^!BvhETr=WP;kP` zQ3Jp#TC6kyC29hMGK}#SUVsYcg>v(L8T99NAU*PN-q-_D9(R;@es@dDf6f}>k7@yN zAk0PZPBvEGF**m7*g++A!#Y>FE%OQ?+5Me)#T!~bxBAw|)(r#g*Mxru1YDK9S9)Ed zQb$wv2q!cjht_yX8Yu(Vf+Cu&eVbu{SUYoJ;f0eK6_s$iox8O8;MT#*)DEsr=OJ|~c08s2rClx(tjI@j~ z6tWNEu^7CQ4}J%a4-XlLc+?Knr^sk#$V|v?PXcomlM-83ov`jwQf|lCTX4QnTStbH zm-_s~$qGiTCd?Fh4i})C_V33TPpuzJr5L>E#+0Tb{q%rd2c@n$e|@}9BS80znzuda zkZwCwU>F=mlJD>9>FGBHJ6jIrm6tEI&!UKpE;;&Ndk}6+e?d?Vdxe^65cxiDS9HYR znMy|U4bz+P0%``q5&ZHcr8C!%{ri6v-t_WwuU9R7xhUYWs@{6FU$5AwHYh|$*YG-3 zkK*d}RCz-~v*zu;d}S!tM^TE!-W`h#xYIE%-kK$BC`)>5fH(M26M|V87PF>$#^0&CIfA-*ycSbd}`>dwUe<&I=hCN&sfL?eA9~X*E-<#B63r)@| zaRam792z9O!X7E$W~$IIT*y4gUica?`oq~QeV;}Ze`loEPK|6B92|M1yGyjBl0^_6 zM_6$L3e@j8+_Ehryly`c4`eo|3WP(Rko7R$>yf)z9Qitr8?j24D{-O6H#|SbQ&fZ# zs}95=DaC8^22zEFrjsk>FFSz_Ta+gEIU3*$v-^#3=X+Kc~#x`M#XU)0| zNA7RKf9Uh{@mj}%-Zv{`ICMq`!p0t>rq`0 zDJ4GoMSMH@Dh|){AaO2W4J3`K3E9(%p}39U<3<;HU&NvG>D}!Ir~E?qsVOijX8J#^ z4u|JcZY_r4E1^gbN-(Na6koL31QmNbS`%+~E0gZ@7rm@`(~r{@n6|*Q1*R=R^~*)JSz&sk9;aPzrULV#LE>-fdDlAi&1!=lZ?<{V#V`_pW#S zKnC(*N1C12nKS2q&Y3fFXA=_Qe<`kkxCY`Hh-)COfw%_Z8i;G))@Z=vWP9q=sj8fu zoQ+*wUC!>$T;1cjA@;z)z`BJC7apI8fJshbuh;8ON=lkdc6N`bYeBQ01Xcg~qJXFkSyYef&pewD17LXk!GXJlk}Fs&j0>>bip3MUySu9wELiZ~ zL>HMTJ?n*PYHI#hUS6I9uym9h0&sBt{P`!~rTiC8lwa-LyLZC=Jt|;X)!w(EU@*9o z{L}FY-_+EU*3;9o5^H>kIcd1y6$C%9Xwf1G95vy}p9k!>7`%shf3ujMM>|alVC~@9 zvuCd{rr7aM#`jfKRb7h8Xq3*FfNh{X2zdfms^+|_h0nM&+R)JOU~g~lizuuVVN<0z zcxWGX0P1h>+(aC>Y~(tA{P=xX@NxRT2~A#VYN{2eXj`S|=uZ$Im0;gUSIfC`=V}4I zn=NqI@EWU(3fKmFf2gmo?*-hre#MFv!Lb;bafJ9WLcIbHAA8;sSOG?Y5_z*xL^gt3 z!G?W0$LI5HpwK z4)>_ah-6^e+Or7u3|35+rJM=vCjjaYg8ooo8yg!ppnyM+ixE^nhYrPE#y9V2$r6X z!hg#eD@7kIO&VYp_v4-x2(u7vKXOWe+O)q6hnVIG_vY6KFMb%8hZ{T-YE>w3+N{Z;( z(^@~7tTkO$jv0v&$Q^23>_;{V3JSV77G6i7axI4Y$|Y+G3k!o>HrCR&6rNH-7ee{4 zn2r?}Bh3Nm!Sm}rQMtH2937BFmrbq zuqf(bUSRf<|IShN1ITpa(4}N2iXEgBdsm__la2wM0POh;w!pWY1W^Htn1xp(*as|H zi6ZDoVQ?}AiVI6Nv6)+8*dxq(?OSChCXt@r?`_b@ExU9$A z0%j^SgC!*;uMu<}C@U*#0^BULK1UN$uBF|g zvKPyfAY?^mT^2?#P#>Utc)=qYgf4{Qs+hl;>*z-M-$C(}d>e1WRi8zs>GX}@V|OGm z)?u$XoxbpCFe+ffO)gFr?e?Qbe~-$&#+}%^=~%{!&Iq7D6f+pwTWJH^V3S;0i|BJw zFD%8y#ouNA7XyL7n{1hwJW!MjqyVS8xRjUzy>+P(zi|N;p|pwM8CZI=+BcK1(6EGv zm9z%iCN7bY3bKTZrv5~BhTOS!0p^;jbu~tyI-m+4^+SN&0$8u1Wxhq!+}!M$F=IwbwDlzye{@>ob8>s?pTMI{ zJe6GT1p|F!wo}R~BQo?>A2b0p98ei8qjk}xv(Ox#Us{-V&IUx`)t%Rk76SN4f%kH= z%Au)C!x4(jfc}WFI?AW7UcG9)hjFVbKnY(#29dfFJoF@zPT`T_NsVkR>(-`*%fblw zv)0zuS8<`@YP2} zfSd=77Y}G?YiqlA`SRr*hS0U3>748mm(ugi@8n_#nMgg8+-U<0FGruolc9SOV23$_ z*O@`?^=q=Tv+Du!L?l>4!(6?2=`L;Ig6<6`Skc`Uz*>m3o4tLSZ6nv!-B$h>hy*RG z$yIUfd@NN$e_M|O+6G1JYrpobXq-tr0A~dz=IEh8JPvb9d)rB;`fYJ(v*^i_Cm%wX zw`g0pC+YCnH7Nn_LzLSovg=% z48UippAt_Vcp0$2(EMoWwp&<2V1y)s(6b1+4Qr=zWT{X0>>ydMm^za5m7`0sPx#32;bRa{vGqB>(^xB>_oNB=7(L4OmG;K~#7F?OO|QRMiRTH>o>4sR4nmcFm9Z|O8vImN43sg8LTN4~Qi(*# z4VcMUgs_RQwu{=qxK4=z)T{W|Lx~LLQt{TcG`*; z^36J@bDN%^(V$h>Y*xi&$}y^HDpd@AFZH<%E?3t<=sHsR#03x|tVbnm$-(C4?HAi| zLuF-ZHj!^3j9f1fDGQ#gTV>?qfj+kP+W%Cak3+6BwXk%KEYk&8<~I?_CK5t(hqPl% zVT87z{xBtMj}i!MIoR6TID{`wLQH@dBk%c%^3X?4r!!8OVQfwF=jU1^^C~#@doZw+ zuu5KF%#DG*=JC5%m+s!(9a&#dT%0dUhWnw%UGOBf$ohE7nBY35l9vWrn%+1@h%cTt zf=3r12t0}NoLqWlG^8jmbpfP73Ty;zG8ownX`>kL^o>;^a%L5r3$m94bx*z%01 zpI+>^gGlrxC>IM@uYu4rvP1^3bfo}csR5OZjk#+vvR_erOXFF3iSA-z48x|!%F0Xz zgW*ju#RNxH)d%c5s@H!d(10NDc?|GA-3}P*FE*!qIyWud__Z-(9Qj65DnJZdc0R1d zliq>OeZ75c@Avjtdjf$8Lja>>mTWM6G_9y~S^XEyZ|U~+74ec-P}{<)6%wUl&{6w` zNt6{e_#>@J9Me4 z?2)>brr$>PDar|TCK|;`F~~b(@xaf$3vhnL`O2WUY%>3A2sqf0W~GfexY02_dwF*5 zltjVdvh7Aw`dWMOwDm;}cb05~kB)dGx^70XE(J?LgwhpKp& zqbhh0Wi1)^I-&FyEvroF=`{s~?JM)`6&C}HRu<0}rI<2bb&M;!Ej^^v-S zllTGd-9vc>DO{=ha`Gmx$j$$p2fl+fm?=s&OerctY!&{DxRVa3W@UJxY?rNOYw(yb z!|oW*D1A<=655`6p~#V$Yc!^5>3Vqtgw3|?n{O9&u7y?QGNFe>Ia+#add7GJzMuW^ zROhvr%b<}UO*P8KzoN}d{1nl4#4YH+?k%S=lYOFt$W#r`P^`mDWWCmLVphFt3yWB; z(G(M$pj@mKt$bN!J_MctEiGDpQF`We3)3@?MATOx#Q3R}HsSzbttg0^Yqgz-JeI-- z_MMwQ;N@v0CG!wjFBEk={YFOC@d;*Yo|dMU2P^}Swc4Y4!*;y<+UidNeM+vXk_S4}2E99UgwNnxqw z<;$jJg71<51O<1%`u{0938sws`}%v{=J`o>djXQL*GGUByS5HXe_DBg<62JBwIBnPKb%qGXqr~ySTiLrZ>+X)ym@|wF`#;H zhM9{{o-2Fdp;DOdDNjvn4WT7?^wWAR*-BFG0nR_ffDjJQeB_tPX_-IP@&MF-Ys-51 zGP5PuNJ)#f&SW6-d07{rAS0!vI4(S4Fk4R`RtcG$R!FS;xE(usY&Dy|rz)%x_cEIV zKWt}?$n$i;RT*(j0>BOn@R&5{J3{g(xha(A8A@DX3g(tcz$|ns`coAdyvfN^}G<>f(BWGIdr^YMsex05#)r6 zs=-{WZDgXfGbP^hC#5qx7B0G3v@bh$%xABuUISlKr1%5nDpP-n*~5)%;?H#!OPCeo zHnN0Ei5s9`my+~oMQLeeFn^JMB*HSaO$`zaI&Lj(_&oi4>w>BqBY6sTZEFBn&mpp& zrUuBIM1jhZ<#eq~v=8c;7(kF9GwF9o5^g6tS0yHkJWox8`nBblc}jC|{ZZGxaPiva zc~!c*Ee}T9&vfFz9RK?}izJ)1ePh`M_l?8{O3C%Gq6J!E3FVm-1_;guDG9X)GjumY z{m0Bk(u%Ep54QPL?Ujqe{L{392mKyj|6TByP4UQgGezTof-QnamY7ajPdKdTzKW6( zt6p7Hn$x)%&cQDc<(zhJ@G%l*+ELr|pK^{IjfOALByH5E1Sq?Ft)6FGE>j;9H+JFX*bO(z0g?@6O&a9$L~ z#`dd`h3N^p-rs+!mYF6MA&=V{E&ms*i^Zg)@_Ep2F?dP{e2b&4M$o@mF7 zFw3S?jcbhceeSTO5C8QE*CDRPLzPXOLK)TEGO|5d3ER8Raq}Mjp(M>UZxKJk1s{Il zhJ))yQ4XevsQ}3DwKQ1O4cf9^9ur0yJp(*G(>!!9FI=#7MmA|`E=d-?!Yc%07&UOR z-x1~Go`G?GgvrJW8;2kdNo50l5X8_e0OFseuK9~!k*PXCCDemhZ9gvKLf04k`j=5@ zd2l-#B5jbczpt+a9=TXhc<>rf{K4QhR$I|#MANc@f-I{sr30Otgy8RHWgq#`)!CCo zIZCRiOu55ev-Q0w^unL+gayqig6ax5j0YyV=mWO z+`)uhhip3gWsV0g$zt>YPcFTMo#~NX^X3hD`iMp+XD+%5+x~`lz&X_4*BS;6WZ}rS zL5Lg`3*wzmEhwF2FiH(V5uQ#@OFgtIzi_IS7Cq0LSP3uNYO0?WJp8Hyr}<}aAX|#% zmL=%XQvQ;0Y2%4zFJq;G2c*UW&PKjl1}E#XIccGQNDsN1kHE>kDat&p>+PHJeqT?M zmKHrvO8`R1A921wN=gc>=D~Qt;rwe{t%tPWa2lNaN+cmm9yNftG6Qb*2&|x+=lO%d z(RCdiIiGs^J1VOSH~&N1>!>X;p#(mq`!<4&Fn@$uJNKl$ zsQ*T*)h_s=q`2lLM@1ciJG}KFF}L-X0M3@4vy(-;3n@E=_jTn5oX)Vxi6h1g7cwLG#D9N8qv{-TkT_@#%L7w;loZ)zh7n{Iiu9lDXyL-#E zve2I&ZyLS@aE@u|JU{9HaV6S%x_8(zGK;ao1{KFStD)bWgD*51rlgKZ9V5#LA8NU5 z@qEzR>wMJZJl}<{Jp_%XSXL^6*d+&Anzw4{B0uU&Oelg>#;xV^aIinq&_vdIgVl2M z-t4?<3R6-t1Tj_$%OLxD&o{qvy32h|2@G9&j14G6z4M^c`EE2>R}w%$9r2>z=dh$_ zp;#!0)GBY4=*h{JwC>qs#$=4Qm~DB6;5R}+7QSt_`n+d8?(c8k=kE2K^mt0~nXvvx zSd6u(0k)*x)jaH5k1Gx!K2m&_I8~D5Kf{^^qgyRX5qW$c?ZF|82aZvLM{N^?7jO8P z`T)M7>(e84Uny$9d-9*ac|Q(M9J+?k8$`S`7}$sS@a56^FBd9gcrh(g{>fz(L~}qwehp1opUGu7T0gIoWR#fg}P+1d<3O5lAACL?DSk h5`iQFNd$Bd_%D(;iZSW+`e^_F002ovPDHLkV1l2Yr6T|U literal 3398 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 CcyPP` diff --git a/Example/Media.xcassets/type_off.imageset/type_off.png b/Example/Media.xcassets/type_off.imageset/type_off.png index 825d6643b41874ab9849cd2bfb74e3c754a8bb30..36473491a18c756973a8452fcba006f16aac6fd2 100644 GIT binary patch delta 712 zcmV;(0yq852HyoCiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzce}qXy zK~zW$?Nq;y5*FuGP-sV&PxlpP;>kg|W3WxoBr1 zxrXFoK>+1qX@tVW93ilK9J@QuZ_r)YU4F&F>L!7CZ{GL4-&w{k&Xx}FEq2yyHjCwQ z`PytYOF&K2WP`!rN2Af0CJZS>e^2QdwNxtIl~TT8f^kOpsRIdb1lvPsZx?TC{x!h0XXFi`_4R~;<&9*XvbK_MQkufXwFH;=I5LY5YpvV;&=y2$klfCUu?k zQ^#>m6gaLxa{0{8+xM_7Jg?_fYcNJBLki<0R(aRBMkY4}auKj|%e2TnbKgVWSNJ#p z1@r{Y`?hUAolGW}9zQ^9e?Og{oh#znW8@8qHr+%B*idnmk7ZU| zfqKNoP`lj@RR1xrN4+n-Tc{+F#4=gQLI{bqy`eae1Lb2GlL(*;e*mEUOyYWM6)cAS zF5@$@f_omeh-kLprVyC`ksYf(2Qjxx0EPX#@R5h#_r~&*(0|kZe*nWUBnBq%sR(z? zd4UCI!A+4eGr+11?JM?C(JJ0aVK=GysXP79ANS+^kH9NG1FcqT58wLxp$Lo8ml1a5 uEeydlsZB?t(Yt!R9)7wKbn&>U1HS;_C?-8PYT5e$0000CFl{7zWRSIqDrj}|EJt-oJ9=uuXMZ5}n7V6Q1AmTsZ!JFVk zq4erW5f8n15IlG^tr!(rwQ15dzq&i~e7otAZkkOuV8KHM+S!@+ee=Ef=FJ44-}(;h zlLOexx~c5(M?&BgNfg`3695hof2_;m>MhH%)_2CjzM0cQ6LcC8E-*t0B4_*0RsfSc zcUi^bdeqehx&Q^3W&(;ugiMB994XKprIyQf^%~UcTOPM4D3wh==ICvq>q+L+n)A#n zm8$&R#Cemgf1y?nj*gDS^n>pJA>qN1NCR;Mc*|0$pTJ`vjv|mC%%BiDe@V5jIPBsD zN2H?p&9C_vExFcL=#FcDL?xD{*Q9W;3FjP9Nw$@Uka?|~5m{35$pdQaiWfk^sVP}# zNd>=J?B={kj-N`FOB2`U#FY}1-&bC4EsWSTns-qJku=JyKs4WAhh9yHByLk+xV z4>b-rE{IhJIC(A_-fQHBe~Nj&2nrN&9NWCy8wGk zWR8x{WR6WyCO1vViK!KU8%?`+@B%yb=lPLXlF}LB3cg7Qfyctfe{}1mfrhKZ1-Hbe zzXe!yhhDY&yp9h@@k@Sjqhimy^;_kK!Usp~%a+wZzIN>Mvr-}dka@fAa>pIJ0&xxE zHjzD-9y+^l=K3AJyis-GWvQIKySnBUW~f`C!mdi4sD3Gtn1xtuma~s0%sV}w90Fir z#TPt`)K!?x!Yx-&fAaD4AY60td$f*cya(r>g#TY*w!7yRWjCQ1JRsa^!WuvSy((9g zbhb&M71?b=#?VCW&9H79c{T@uQ{4JS6Ny4)Q0ee-Gm`|cr2&l z#seED*NGf9ry*|gZ}d~E@cC63ra#|zVBZ}03t&&|v diff --git a/Example/Media.xcassets/type_off.imageset/type_off@2x.png b/Example/Media.xcassets/type_off.imageset/type_off@2x.png index abb5384efac59c45ef6cf29d2a5289735d4d00a6..c2b90bc55dccd94def247a1e386b264d7a416796 100644 GIT binary patch delta 1216 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 diff --git a/Example/Media.xcassets/type_off.imageset/type_off@3x.png b/Example/Media.xcassets/type_off.imageset/type_off@3x.png index f197a683acb388e00bcf46669d3a8e501c0a5020..070d4efeb0ffbbbea69aa2762494ff8f18477725 100644 GIT binary patch delta 837 zcmbQrahpxCGr-TCmrII^fq{Y7)59eQNPB=V2OE$KeY@FxqM~X&gQtsQNCo5DS^M)Z zJBS>=@4C{bkc_>Yi_&Eb(==>i2iH`@erZUjBT(%a29|js|4p@RB9urQ~y! zFE;OYty)=cUL12R_SSXtnCrFKa}N|8o|SlKB`>qW!wbw47*^>05PvFX<(sbU|7q{P zd+B}m&usRU+$iD5N&Eqhl6znRe&ohV{{En}_p*7RGm z@;=A>H@UpOiEmy|xW~oGYw9nZ{OjHA8@pt(^oK=jg=;sOYG~ZZ+GeMc6qZ!>`|j#a zW~s|k9gkdZX52SC+TzUNz@Q=^aA#%rmosIv-W~lVV%u@^s@acwRtxV3tT$9RUMS~U z{7Lxe?>`50ZiU`7yL@ro<6~cDcO8{dnZTsLAjH9u_t@0qgmdZseRp4f-L_;$YW!m_2-O=C`sNcKsbaz>@Bm+;@8|fnwty7NNTyd>llEvXrA~Qs94?*gklJX0Go$br= z4XdZR1$8gmxOR?G1KY(#e^%yxIQrV)*7il;3Kl(GvS(4hy4${KwhHs><6OKy9^Q01 zC%w){xHmqbx_FVQ&cS@sdF^iJ+DsQ*%=j{ed;jUk{Fe_Kk2SAnKcB-bUbXS+%Mz*A z(y!P5=!o4cy5YoIiF3a{Ui=ZZ`|h?nmTcRmCRuJS{)`Q8C)ZE6uYFlC{cBQ$(u%?b vsux5uw3(K>_@V<`~5{6MULNpb5c_1@mH0zwi5ebLY&Pw_7>bIT{#nBAE=PLv8oO?@r9_J7Ig;t6P8e_3XHxm0=%4A6aSn zeem>WSa8`mq>JH#*NjWnvR?8^vpIrJ8M*(v<@{x`Q^!QPTdB8>#9dI4zq)5ByJvNL ziF-b`kg@0O)VKXBm9r21f5f~+@xra;eU~o0^u8p>?D>WJR4m7DYn5}Xzh7^#T_>}J z`!~x+%di`Fw(8XEjEnvGXVvQ9Ca<^VI;!P4^TZc-vPi8dd3v;B;Va#^YpQ&~?Rt|8 z3mL4~CalY9xaMl4*7xmbfY4bk&(DUHYu7)ktGL$P;vm4#_}5S2qTQ|+eZB9?6+C~3 ze-^vHdW+{42`i^P!JJhGYNoJhZ!2$eV|4&Jj;ZaE%B;nnr`mIOvCLH!nw-0>gXzD+ z=PBx&++3!Ls_nBp`I$e_{L#@9mXp3H-dlg!IaBF<&bRA_c2CfZQ<(o}{l3)isf$BC z?}=KSb9?8DU9Rp=Ru}H7(ais-muz-Uf0bNuiO5u*9EQ1!S5{15kabmMmUc*IFx5)g z6zi_h0&`PaEQ z_|KR6QWccG;^LQ!j;Ewdo@F?T3ol^2CBW#MX|RYq`b&R?tu5Ouvr>PN ze5Oej``Q0zc8Z9V{J-6Av_Jandd2994eN4i6*B|>a_m&mT2^Imr4^j`;>^{UzGsI@ z57++u_2Oa8Hh+i1o}#C`_e(RMj_&OXzcI^q)|&M-RVxLYPP$rWoYU&#?ce+Ca-}M3 znAJ)1sZWn~>-gT@9`O5$V8`uA(dOIZg|-MKl?OJybJ*{9!tt1n!)5>Tzcp$rThpKF z-`$-Wp1Z*Og6xayYju`eCurYG+q-F7<&yt}`%i@42zzqAP-xNm(EPKJr+BY@nkN2w tW>#@>R`J#7t!~mScrr}Gfq#l0*bgwB*Yq|M&je;|22WQ%mvv4FO#oTw#(4k$ diff --git a/Example/Media.xcassets/type_on.imageset/type_on.png b/Example/Media.xcassets/type_on.imageset/type_on.png index 825d6643b41874ab9849cd2bfb74e3c754a8bb30..4d0d0302ffe404d33fdc84653116567108f2465d 100644 GIT binary patch delta 724 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 diff --git a/Example/Media.xcassets/type_on.imageset/type_on@3x.png b/Example/Media.xcassets/type_on.imageset/type_on@3x.png index f197a683acb388e00bcf46669d3a8e501c0a5020..6563613c1533768589a25f59ae74211ed6481c8c 100644 GIT binary patch delta 864 zcmbQr@r_NfGr-TCmrII^fq{Y7)59eQNPB=V2OE$KeY@FxqM~ZOw5N+>NCo5D+57V^ zJBS>Azf&||fmX71%c~_i9Eyz!p^;iMX55IFF(V+FU5c7K1jcfGxxz52G*B6bQ4Oen~p zfXU=TM|~{QyyCmue7$?#ByE!8y0L%9o67ZTn3v3XvE<9`&3OzeGF1#h482_6?iw0j zpSGuK_v8ng^DYLvT(+KR%n`pvp;3u}vtf@x945^F4e*|7ILby_a(HBJ%=1m1ho*G>^TR-?>YucTfK} z>syWmwhI5Q8O}S{aJVGKvi{uUxRsB8Pk%ByV##CSG;ZTv*Cgc^v$b-bp7;IWhZ8G; zi|$_D$efkIo2nZc9`x4Q&+wrFlK=xJ3rlg*#J=;~GxA-J%PgwCSavpRoB}MlKpdG*l(Uqwz8%k4>%kcR0IUhL^u*b z?Pl-z=bCK(=Rx?E`Kh}fn)B-ZI`?zhTDjk%NB&sODp~liHt8;Z*2RrF^|uzbwN~A& z_#L+2=+Dux?ytPYwITCfFZulTh<5aB_w`}>w(XA0v;G&`C~CV|^ve0-*@1ue{Ok3r zxn}lr!n3_s&p&)#vTm8L-S1!@^)JoOQuo%}zo{a3Y)(M*ii=`?D>lv-y>jdLWUsf< zv-R#Mw6A+vu)O5JUtMRn`Y+lVyA(dVoBh@J`qFLfuOE|xjvZA|j`ZM0Nu||22kMVx XZ~Fb^;gTe~DWM4fZ0wT# literal 1045 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S901|%(3I5Gh##^NA%Cx&(BWL^R}oCO|{#S9E$ zsvykh8Km-ofq{9Kr;B4q1>@V<`~5{6MULNpb5c_1@mH0zwi5ebLY&Pw_7>bIT{#nBAE=PLv8oO?@r9_J7Ig;t6P8e_3XHxm0=%4A6aSn zeem>WSa8`mq>JH#*NjWnvR?8^vpIrJ8M*(v<@{x`Q^!QPTdB8>#9dI4zq)5ByJvNL ziF-b`kg@0O)VKXBm9r21f5f~+@xra;eU~o0^u8p>?D>WJR4m7DYn5}Xzh7^#T_>}J z`!~x+%di`Fw(8XEjEnvGXVvQ9Ca<^VI;!P4^TZc-vPi8dd3v;B;Va#^YpQ&~?Rt|8 z3mL4~CalY9xaMl4*7xmbfY4bk&(DUHYu7)ktGL$P;vm4#_}5S2qTQ|+eZB9?6+C~3 ze-^vHdW+{42`i^P!JJhGYNoJhZ!2$eV|4&Jj;ZaE%B;nnr`mIOvCLH!nw-0>gXzD+ z=PBx&++3!Ls_nBp`I$e_{L#@9mXp3H-dlg!IaBF<&bRA_c2CfZQ<(o}{l3)isf$BC z?}=KSb9?8DU9Rp=Ru}H7(ais-muz-Uf0bNuiO5u*9EQ1!S5{15kabmMmUc*IFx5)g z6zi_h0&`PaEQ z_|KR6QWccG;^LQ!j;Ewdo@F?T3ol^2CBW#MX|RYq`b&R?tu5Ouvr>PN ze5Oej``Q0zc8Z9V{J-6Av_Jandd2994eN4i6*B|>a_m&mT2^Imr4^j`;>^{UzGsI@ z57++u_2Oa8Hh+i1o}#C`_e(RMj_&OXzcI^q)|&M-RVxLYPP$rWoYU&#?ce+Ca-}M3 znAJ)1sZWn~>-gT@9`O5$V8`uA(dOIZg|-MKl?OJybJ*{9!tt1n!)5>Tzcp$rThpKF z-`$-Wp1Z*Og6xayYju`eCurYG+q-F7<&yt}`%i@42zzqAP-xNm(EPKJr+BY@nkN2w tW>#@>R`J#7t!~mScrr}Gfq#l0*bgwB*Yq|M&je;|22WQ%mvv4FO#oTw#(4k$ diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index 6856f57..ff4ca88 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -58,16 +58,16 @@ [allergen setImage:[UIImage imageNamed:@"allergen_off"]]; [allergen setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; - TabBarItem *allergen2 = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + /*TabBarItem *allergen2 = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [allergen2 setItemName:@"Allergen"]; [allergen2 setImage:[UIImage imageNamed:@"allergen_off"]]; [allergen2 setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; - - tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,allergen] forPosition:TabBarPickerPositionRight]; + */ + tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,allergen] forPosition:TabBarPickerPositionBottom]; [tabbar setItemSpacing:2]; [tabbar setBackgroundColor:[UIColor whiteColor]]; - [tabbar addItem:allergen2]; + //[tabbar addItem:allergen2]; } return self; } @@ -93,7 +93,7 @@ - (void) viewDidAppear:(BOOL)animated { - TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; + /*TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1"]; TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"Peppe2"]; TabBarSubItem *subItem4 = [TabBarSubItem tabBarSubItemWithName:@"Peppe3"]; @@ -108,7 +108,7 @@ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [tabbar addItem:allergen]; - }); + });*/ } - (void)didReceiveMemoryWarning diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index 9db7723..bb90055 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -28,7 +28,6 @@ _orientation = [[UIDevice currentDevice] orientation]; _itemButton = [[UIButton alloc] initForAutoLayout]; - [_itemButton setBackgroundColor:[UIColor whiteColor]]; [self addSubview:_itemButton]; @@ -47,6 +46,8 @@ //[_itemButton autoPinEdgesToSuperviewMargins]; [_itemButton autoCenterInSuperview]; + [_itemButton autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; + [_itemButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; } diff --git a/Pod/Classes/TabBarPicker.h b/Pod/Classes/TabBarPicker.h index b70e7b3..895d861 100644 --- a/Pod/Classes/TabBarPicker.h +++ b/Pod/Classes/TabBarPicker.h @@ -25,6 +25,7 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { @property (nonatomic, readonly) CGSize tabBarSize; @property (nonatomic, readonly) TabBarPickerPosition position; @property (nonatomic, readonly) NSLayoutRelation layoutRelation; +@property (nonatomic) NSUInteger subItemPerRow; @property (nonatomic) CGFloat paddingLeft; @property (nonatomic) CGFloat paddingRight; @property (nonatomic) CGFloat paddingTop; @@ -48,7 +49,7 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { * * @return raturn instance of TabBarPicker object. */ -- (instancetype) initWithTabBarItems:(NSArray *)items forPosition:(TabBarPickerPosition)position; +- (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position; /** * Init TabBarPicker with items. When is selected an item the picher show down subitems. @@ -68,7 +69,7 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { * * @return raturn instance of TabBarPicker object. */ -- (instancetype) initWithTabBarItems:(NSArray *)items forPosition:(TabBarPickerPosition)position andNSLayoutRelation:(NSLayoutRelation) relation; +- (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation; /** * Init TabBarPicker with items. When is selected an item the picher show down subitems. @@ -91,6 +92,29 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { */ - (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation; +/** + * Init TabBarPicker with items. When is selected an item the picher show down subitems. + * By default when one of more subItems are selected the selected item become selected. + * The picker size is dinamically based the max subitems of items + * + * @param items Represents tab bar items. That array cannot be nil. + * + * @param size Represents the tabbar size + * + * @param position Represents the posizion in the Screen: + * - TabBarPickerPositionLeft : Is positioned in vertical on left of the screen and shows the picker at its right + * - TabBarPickerPositionRight : Is positioned in vertical on right of the screen and shows the picker at its left + * - TabBarPickerPositionBottom : Is positioned in horizontal on bottom of the screen and shows the picker at its top + * - TabBarPickerPositionTop : Is positioned in horizontal on top of the screen and shows the picker at its bottom + * + * @param relation Represents NSLayoutRelation for TabBar layout. + * + * @param subItemsPerRow Represents the number of subItems per single row of subitem picker + * + * @return <#return value description#> + */ +- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow; + /** * <#Description#> * diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 3a6c4ab..9f9a6d3 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -10,30 +10,41 @@ #import #import "TabBarPickerSubItemsView.h" +#define DEFAULT_SUB_ITEMS_PER_ROW 2 + @interface TabBarPicker() @property (nonatomic) UIDeviceOrientation orientation; +@property (nonatomic) NSUInteger subItemRows; +@property (nonatomic, strong) TabBarPickerSubItemsView *subItemSelector; @end @implementation TabBarPicker -- (instancetype) initWithTabBarItems:(NSArray *)items forPosition:(TabBarPickerPosition)position { +- (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position { - return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:NSLayoutRelationEqual]; + return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:NSLayoutRelationEqual subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW]; } -- (instancetype) initWithTabBarItems:(NSArray *)items forPosition:(TabBarPickerPosition)position andNSLayoutRelation:(NSLayoutRelation)relation { +- (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { - return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:relation]; + return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW]; } -- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation)relation { +- (instancetype) initWithTabBarItems:(NSArray *) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { + + return [self initWithTabBarItems:items withTabBarSize:size forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW]; + +} + +- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow { self = [self initForAutoLayout]; if (self) { + _subItemPerRow = subItemsPerRow; _itemSpacing = 10; _paddingLeft = 0; _paddingRight = 0; @@ -58,6 +69,13 @@ for (NSObject *item in items) { [self addItem:item]; } + + if ([_tabBarItems count] > 0) { + + _subItemSelector = [[TabBarPickerSubItemsView alloc] initWithTabBarItems:_tabBarItems]; + + [self addSubview:_subItemSelector]; + } } [self updateConstraintsIfNeeded]; @@ -136,6 +154,8 @@ } [self updateConstraintsIfNeeded]; + + [_subItemSelector layoutSubviews]; } - (void) setPosition:(TabBarPickerPosition)position { @@ -155,7 +175,6 @@ if (item && [item isKindOfClass:[TabBarItem class]]) { [_tabBarItems addObject:item]; - [item setBackgroundColor:[UIColor lightGrayColor]]; [item setDelegate:self]; [self addSubview:item]; diff --git a/Pod/Classes/TabBarPickerSubItemsView.h b/Pod/Classes/TabBarPickerSubItemsView.h index 7122471..64b1904 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.h +++ b/Pod/Classes/TabBarPickerSubItemsView.h @@ -7,8 +7,37 @@ // #import +#import "TabBarItem.h" + +@class TabBarPickerSubItemsView; + +@protocol TabBarPickerSubItemsViewDelegate + +@required + +- (void) tabarPickerSubItemsView:(TabBarPickerSubItemsView*) tabarPickerSubItemsView didSelect:(TabBarItem*) item; + +@end @interface TabBarPickerSubItemsView : UIView +/** + * <#Description#> + */ +@property (nonatomic, strong) NSMutableArray *itemsArray; + +/** + * <#Description#> + */ +@property (nonatomic, assign) id delegate; + +/** + * <#Description#> + * + * @param items <#items description#> + * + * @return <#return value description#> + */ +- (instancetype) initWithTabBarItems:(NSArray *) items; @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 2006167..5b37d3f 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -11,13 +11,36 @@ @implementation TabBarPickerSubItemsView -- (instancetype) init { +- (instancetype) initWithTabBarItems:(NSArray *) items { self = [self initForAutoLayout]; if (self) { - + _itemsArray = [[NSMutableArray alloc] initWithArray:items]; } + + [self updateConstraintsIfNeeded]; + return self; } + +- (void) layoutSubviews { + + if ([self.constraints count] > 0) { + + [NSLayoutConstraint deactivateConstraints:self.constraints]; + + for (TabBarItem *item in _itemsArray) { + for (TabBarSubItem *subItem in item.subItems) { + [subItem.constraints autoRemoveConstraints]; + } + } + } + + [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; + [self autoSetDimension:ALDimensionHeight toSize:44]; + + [self autoConstrainAttribute:ALEdgeTop toAttribute:ALMarginTop ofView:self.superview withOffset:self.superview.frame.size.height]; +} + @end diff --git a/Pod/Classes/TabBarSubItem.m b/Pod/Classes/TabBarSubItem.m index d362c02..d34902f 100644 --- a/Pod/Classes/TabBarSubItem.m +++ b/Pod/Classes/TabBarSubItem.m @@ -42,5 +42,14 @@ [self layoutSubviews]; } +- (void) layoutSubviews { + + if ([self.constraints count] > 0) { + + [NSLayoutConstraint deactivateConstraints:self.constraints]; + + } +} + @end From 7a34b09ccf36b78d545abd6fb10f77e40c4e85f8 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Wed, 22 Jul 2015 16:26:28 +0200 Subject: [PATCH 03/13] - Inizio lavoro su animazioni --- Pod/Classes/TabBarItem.h | 10 ++- Pod/Classes/TabBarPicker.h | 32 +++++++-- Pod/Classes/TabBarPicker.m | 91 ++++++++++++++++++-------- Pod/Classes/TabBarPickerSubItemsView.h | 7 +- Pod/Classes/TabBarPickerSubItemsView.m | 36 ++++++++-- Pod/Classes/TabBarSubItem.h | 1 + Pod/Classes/TabBarSubItem.m | 8 +++ 7 files changed, 139 insertions(+), 46 deletions(-) diff --git a/Pod/Classes/TabBarItem.h b/Pod/Classes/TabBarItem.h index 819f0cc..2dd7858 100644 --- a/Pod/Classes/TabBarItem.h +++ b/Pod/Classes/TabBarItem.h @@ -11,14 +11,14 @@ @class TabBarItem; -@protocol TabBarItemDelegate +/*@protocol TabBarItemDelegate @required - (void) tabBarItemSelected:(TabBarItem*) selectedItem; @end - +*/ @interface TabBarItem : UIView /** @@ -37,10 +37,8 @@ * Represents the sub items that appeare when you select the item in picker. */ @property (nonatomic, strong) NSMutableArray *subItems; -/** - * <#Description#> - */ -@property (nonatomic, assign) id delegate; + +//@property (nonatomic, assign) id delegate; /** * <#Description#> diff --git a/Pod/Classes/TabBarPicker.h b/Pod/Classes/TabBarPicker.h index 895d861..78a46c1 100644 --- a/Pod/Classes/TabBarPicker.h +++ b/Pod/Classes/TabBarPicker.h @@ -25,12 +25,9 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { @property (nonatomic, readonly) CGSize tabBarSize; @property (nonatomic, readonly) TabBarPickerPosition position; @property (nonatomic, readonly) NSLayoutRelation layoutRelation; -@property (nonatomic) NSUInteger subItemPerRow; -@property (nonatomic) CGFloat paddingLeft; -@property (nonatomic) CGFloat paddingRight; -@property (nonatomic) CGFloat paddingTop; -@property (nonatomic) CGFloat paddingBottom; @property (nonatomic) CGFloat itemSpacing; +@property (nonatomic, readonly) NSUInteger subItemPerRow; +@property (nonatomic, readonly) CGFloat subItemHeight; /** * Init TabBarPicker with items. When is selected an item the picher show down subitems. @@ -115,6 +112,31 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { */ - (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow; +/** + * Init TabBarPicker with items. When is selected an item the picher show down subitems. + * By default when one of more subItems are selected the selected item become selected. + * The picker size is dinamically based the max subitems of items + * + * @param items Represents tab bar items. That array cannot be nil. + * + * @param size Represents the tabbar size + * + * @param position Represents the posizion in the Screen: + * - TabBarPickerPositionLeft : Is positioned in vertical on left of the screen and shows the picker at its right + * - TabBarPickerPositionRight : Is positioned in vertical on right of the screen and shows the picker at its left + * - TabBarPickerPositionBottom : Is positioned in horizontal on bottom of the screen and shows the picker at its top + * - TabBarPickerPositionTop : Is positioned in horizontal on top of the screen and shows the picker at its bottom + * + * @param relation Represents NSLayoutRelation for TabBar layout. + * + * @param subItemsPerRow Represents the number of subItems per single row of subitem picker + * + * @param subItemHeight Represents the height of single subItem. + * + * @return <#return value description#> + */ +- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow subItemHeight:(CGFloat) subItemHeight; + /** * <#Description#> * diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 9f9a6d3..1f32e84 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -11,12 +11,14 @@ #import "TabBarPickerSubItemsView.h" #define DEFAULT_SUB_ITEMS_PER_ROW 2 +#define DEFAULT_SUB_ITEM_HEIGHT 44 -@interface TabBarPicker() +@interface TabBarPicker() @property (nonatomic) UIDeviceOrientation orientation; @property (nonatomic) NSUInteger subItemRows; @property (nonatomic, strong) TabBarPickerSubItemsView *subItemSelector; +@property (nonatomic) BOOL show; @end @@ -24,34 +26,36 @@ - (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position { - return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:NSLayoutRelationEqual subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW]; + return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:NSLayoutRelationEqual subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; } - (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { - return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW]; + return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; } - (instancetype) initWithTabBarItems:(NSArray *) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { - return [self initWithTabBarItems:items withTabBarSize:size forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW]; - + return [self initWithTabBarItems:items withTabBarSize:size forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; } - (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow { + return [self initWithTabBarItems:items withTabBarSize:size forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; +} + + + +- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow subItemHeight:(CGFloat) subItemHeight { + self = [self initForAutoLayout]; if (self) { _subItemPerRow = subItemsPerRow; _itemSpacing = 10; - _paddingLeft = 0; - _paddingRight = 0; - _paddingTop = 0; - _paddingBottom = 0; _layoutRelation = relation; - + _subItemHeight = subItemHeight; _position = position; [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; @@ -72,8 +76,8 @@ if ([_tabBarItems count] > 0) { - _subItemSelector = [[TabBarPickerSubItemsView alloc] initWithTabBarItems:_tabBarItems]; - + _subItemSelector = [[TabBarPickerSubItemsView alloc] initWithTabBarItems:_tabBarItems andsubItemsPerRow:_subItemPerRow]; + [_subItemSelector setDelegate:self]; [self addSubview:_subItemSelector]; } } @@ -88,7 +92,7 @@ if ([self.constraints count] > 0) { [NSLayoutConstraint deactivateConstraints:self.constraints]; - + [NSLayoutConstraint deactivateConstraints:_subItemSelector.constraints]; for (TabBarItem *item in _tabBarItems) { [item.constraints autoRemoveConstraints]; } @@ -138,17 +142,21 @@ break; case TabBarPickerPositionBottom: default:{ - - [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; - [self autoSetDimension:ALDimensionHeight toSize:44]; - [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; - [self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]; - - [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; - - [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - - [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; + if (!_show) { + + } + else { + [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; + [self autoSetDimension:ALDimensionHeight toSize:44]; + [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; + [self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]; + + [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; + + [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + + [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; + } } break; } @@ -156,6 +164,10 @@ [self updateConstraintsIfNeeded]; [_subItemSelector layoutSubviews]; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self show]; + }); } - (void) setPosition:(TabBarPickerPosition)position { @@ -175,7 +187,7 @@ if (item && [item isKindOfClass:[TabBarItem class]]) { [_tabBarItems addObject:item]; - [item setDelegate:self]; + //[item setDelegate:self]; [self addSubview:item]; @@ -186,12 +198,37 @@ } } -- (void) layoutSubviewsPortrait { +- (void) show { + + if (!_show) { + + _show = YES; + [self setNeedsUpdateConstraints]; + [self updateConstraintsIfNeeded]; + + [UIView animateWithDuration:1.0 + delay:0.0 + options:UIViewAnimationOptionCurveEaseInOut + animations:^{ + [self layoutIfNeeded]; // this is what actually causes the views to animate to their new layout + } + completion:^(BOOL finished) { + // Run the animation again in the other direction + + }]; + } +} + +- (void) hide { } -- (void) layoutSubviewsLandScape { +#pragma mark TabBarPickerSubItemsViewDelegate + +- (void) tabarPickerSubItemsView:(TabBarPickerSubItemsView*) tabarPickerSubItemsView didSelect:(TabBarItem*) item { } +#pragma mark - + @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.h b/Pod/Classes/TabBarPickerSubItemsView.h index 64b1904..f1e4252 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.h +++ b/Pod/Classes/TabBarPickerSubItemsView.h @@ -29,15 +29,16 @@ /** * <#Description#> */ -@property (nonatomic, assign) id delegate; +@property (nonatomic, assign) id delegate; /** * <#Description#> * - * @param items <#items description#> + * @param items <#items description#> + * @param itemsPerRow <#itemsPerRow description#> * * @return <#return value description#> */ -- (instancetype) initWithTabBarItems:(NSArray *) items; +- (instancetype) initWithTabBarItems:(NSArray *) items andsubItemsPerRow:(NSUInteger) itemsPerRow; @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 5b37d3f..5a6953b 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -9,13 +9,37 @@ #import "TabBarPickerSubItemsView.h" #import +@interface TabBarPickerSubItemsView() + +@property (nonatomic) NSUInteger itemsPerRow; +@property (nonatomic) NSUInteger rows; +@property (nonatomic, strong) UICollectionView *subItemCollectionView; + +@end + @implementation TabBarPickerSubItemsView -- (instancetype) initWithTabBarItems:(NSArray *) items { +- (instancetype) initWithTabBarItems:(NSArray *) items andsubItemsPerRow:(NSUInteger) itemsPerRow { self = [self initForAutoLayout]; if (self) { + _itemsPerRow = itemsPerRow; _itemsArray = [[NSMutableArray alloc] initWithArray:items]; + + _rows = 0; + + for (TabBarItem *item in _itemsArray) { + if (_rows < ([[item subItems] count]/_itemsPerRow)) { + _rows = ceil(([[item subItems] count]/_itemsPerRow)); + } + } + [self setBackgroundColor:[UIColor whiteColor]]; + /*_subItemCollectionView = [[UICollectionView alloc] initForAutoLayout]; + [_subItemCollectionView setPagingEnabled:YES]; + [_subItemCollectionView setDelegate:self]; + [_subItemCollectionView setDataSource:self]; + + [self addSubview:_subItemCollectionView];*/ } [self updateConstraintsIfNeeded]; @@ -36,11 +60,13 @@ } } } - - [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; - [self autoSetDimension:ALDimensionHeight toSize:44]; - [self autoConstrainAttribute:ALEdgeTop toAttribute:ALMarginTop ofView:self.superview withOffset:self.superview.frame.size.height]; + [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; + [self autoSetDimension:ALDimensionHeight toSize:_rows*44]; + + [_subItemCollectionView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + [_subItemCollectionView autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; + [_subItemCollectionView setBackgroundColor:[UIColor redColor]]; } @end diff --git a/Pod/Classes/TabBarSubItem.h b/Pod/Classes/TabBarSubItem.h index 968e5ad..f3258a3 100644 --- a/Pod/Classes/TabBarSubItem.h +++ b/Pod/Classes/TabBarSubItem.h @@ -11,6 +11,7 @@ @interface TabBarSubItem : UIView @property (nonatomic, strong) NSString *name; +@property (nonatomic, strong) UIButton *subItemButton; + (instancetype) tabBarSubItemWithName:(NSString*)name; diff --git a/Pod/Classes/TabBarSubItem.m b/Pod/Classes/TabBarSubItem.m index d34902f..f2e32e5 100644 --- a/Pod/Classes/TabBarSubItem.m +++ b/Pod/Classes/TabBarSubItem.m @@ -26,6 +26,9 @@ [[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object: nil]; _name = name; + + _subItemButton = [[UIButton alloc] initForAutoLayout]; + [_subItemButton setTitle:_name forState:UIControlStateNormal]; } return self; } @@ -34,6 +37,11 @@ return [[self alloc] initWithName:name]; } +- (void) setName:(NSString *)name { + _name = name; + [_subItemButton setTitle:name forState:UIControlStateNormal]; +} + - (void)deviceOrientationDidChange:(NSNotification *)notification { //Obtain current device orientation From f2172685126a172bef09e498b8a3d2e1fc123043 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Wed, 22 Jul 2015 17:24:42 +0200 Subject: [PATCH 04/13] - Fix autolayout management --- Pod/Classes/TabBarItem.m | 5 +- Pod/Classes/TabBarPicker.m | 124 ++++++++++++------------- Pod/Classes/TabBarPickerSubItemsView.m | 51 +++++----- Pod/Classes/TabBarSubItem.m | 9 +- 4 files changed, 103 insertions(+), 86 deletions(-) diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index bb90055..a328308 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -14,6 +14,7 @@ @property (nonatomic, strong) UIButton *itemButton; @property (nonatomic) UIDeviceOrientation orientation; +@property (nonatomic, assign) BOOL didSetupConstraints; @end @@ -45,10 +46,12 @@ - (void) layoutSubviews { //[_itemButton autoPinEdgesToSuperviewMargins]; + if (!_didSetupConstraints) { [_itemButton autoCenterInSuperview]; [_itemButton autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; [_itemButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; - + _didSetupConstraints = YES; + } } - (void)deviceOrientationDidChange:(NSNotification *)notification { diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 1f32e84..1c0dae4 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -19,6 +19,7 @@ @property (nonatomic) NSUInteger subItemRows; @property (nonatomic, strong) TabBarPickerSubItemsView *subItemSelector; @property (nonatomic) BOOL show; +@property (nonatomic, assign) BOOL didSetupConstraints; @end @@ -89,63 +90,61 @@ - (void) layoutSubviews { - if ([self.constraints count] > 0) { + /*if ([self.constraints count] > 0) { + + [NSLayoutConstraint deactivateConstraints:self.constraints]; + [NSLayoutConstraint deactivateConstraints:_subItemSelector.constraints]; + for (TabBarItem *item in _tabBarItems) { + [item.constraints autoRemoveConstraints]; + } + }*/ + if (!_didSetupConstraints) { - [NSLayoutConstraint deactivateConstraints:self.constraints]; - [NSLayoutConstraint deactivateConstraints:_subItemSelector.constraints]; - for (TabBarItem *item in _tabBarItems) { - [item.constraints autoRemoveConstraints]; - } - } - - switch (_position) { - case TabBarPickerPositionLeft:{ - [self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:20]; - [self autoPinEdgeToSuperviewEdge:ALEdgeLeft withInset:0]; - [self autoSetDimension:ALDimensionWidth toSize:44]; - [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:_layoutRelation]; - [self autoAlignAxisToSuperviewMarginAxis:ALAxisHorizontal]; - - [_tabBarItems autoSetViewsDimension:ALDimensionWidth toSize:44.0]; - - [_tabBarItems autoDistributeViewsAlongAxis:ALAxisVertical alignedTo:ALAttributeVertical withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; - - [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisVertical]; - } - break; - case TabBarPickerPositionRight:{ - [self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:20]; - [self autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:0]; - [self autoSetDimension:ALDimensionWidth toSize:44]; - [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:_layoutRelation]; - [self autoAlignAxisToSuperviewMarginAxis:ALAxisHorizontal]; - - [_tabBarItems autoSetViewsDimension:ALDimensionWidth toSize:44.0]; - - [_tabBarItems autoDistributeViewsAlongAxis:ALAxisVertical alignedTo:ALAttributeVertical withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; - - [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisVertical]; - } - break; - case TabBarPickerPositionTop:{ - [self autoPinEdgeToSuperviewMargin:ALEdgeTop]; - [self autoSetDimension:ALDimensionHeight toSize:44]; - [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; - [self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]; - - [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; - - [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; - - [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - } - break; - case TabBarPickerPositionBottom: - default:{ - if (!_show) { + switch (_position) { + case TabBarPickerPositionLeft:{ + [self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:20]; + [self autoPinEdgeToSuperviewEdge:ALEdgeLeft withInset:0]; + [self autoSetDimension:ALDimensionWidth toSize:44]; + [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:_layoutRelation]; + [self autoAlignAxisToSuperviewMarginAxis:ALAxisHorizontal]; + [_tabBarItems autoSetViewsDimension:ALDimensionWidth toSize:44.0]; + + [_tabBarItems autoDistributeViewsAlongAxis:ALAxisVertical alignedTo:ALAttributeVertical withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; + + [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisVertical]; } - else { + break; + case TabBarPickerPositionRight:{ + [self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:20]; + [self autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:0]; + [self autoSetDimension:ALDimensionWidth toSize:44]; + [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:_layoutRelation]; + [self autoAlignAxisToSuperviewMarginAxis:ALAxisHorizontal]; + + [_tabBarItems autoSetViewsDimension:ALDimensionWidth toSize:44.0]; + + [_tabBarItems autoDistributeViewsAlongAxis:ALAxisVertical alignedTo:ALAttributeVertical withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; + + [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisVertical]; + } + break; + case TabBarPickerPositionTop:{ + [self autoPinEdgeToSuperviewMargin:ALEdgeTop]; + [self autoSetDimension:ALDimensionHeight toSize:44]; + [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; + [self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]; + + [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; + + [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; + + [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + } + break; + case TabBarPickerPositionBottom: + default:{ + [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; [self autoSetDimension:ALDimensionHeight toSize:44]; [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; @@ -157,17 +156,16 @@ [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; } + break; } - break; + + + + [_subItemSelector layoutSubviews]; + _didSetupConstraints = YES; + + [self updateConstraintsIfNeeded]; } - - [self updateConstraintsIfNeeded]; - - [_subItemSelector layoutSubviews]; - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self show]; - }); } - (void) setPosition:(TabBarPickerPosition)position { diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 5a6953b..e957288 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -9,11 +9,15 @@ #import "TabBarPickerSubItemsView.h" #import +#define DEFAULT_ITEM_HEIGHT 44 + @interface TabBarPickerSubItemsView() @property (nonatomic) NSUInteger itemsPerRow; +@property (nonatomic) CGFloat itemHeight; @property (nonatomic) NSUInteger rows; @property (nonatomic, strong) UICollectionView *subItemCollectionView; +@property (nonatomic, assign) BOOL didSetupConstraints; @end @@ -25,7 +29,7 @@ if (self) { _itemsPerRow = itemsPerRow; _itemsArray = [[NSMutableArray alloc] initWithArray:items]; - + _itemHeight = DEFAULT_ITEM_HEIGHT; _rows = 0; for (TabBarItem *item in _itemsArray) { @@ -33,13 +37,14 @@ _rows = ceil(([[item subItems] count]/_itemsPerRow)); } } - [self setBackgroundColor:[UIColor whiteColor]]; - /*_subItemCollectionView = [[UICollectionView alloc] initForAutoLayout]; - [_subItemCollectionView setPagingEnabled:YES]; - [_subItemCollectionView setDelegate:self]; - [_subItemCollectionView setDataSource:self]; - [self addSubview:_subItemCollectionView];*/ + [self setBackgroundColor:[UIColor redColor]]; + /*_subItemCollectionView = [[UICollectionView alloc] initForAutoLayout]; + [_subItemCollectionView setPagingEnabled:YES]; + [_subItemCollectionView setDelegate:self]; + [_subItemCollectionView setDataSource:self]; + + [self addSubview:_subItemCollectionView];*/ } [self updateConstraintsIfNeeded]; @@ -50,23 +55,27 @@ - (void) layoutSubviews { - if ([self.constraints count] > 0) { + /*if ([self.constraints count] > 0) { + + [NSLayoutConstraint deactivateConstraints:self.constraints]; + + for (TabBarItem *item in _itemsArray) { + for (TabBarSubItem *subItem in item.subItems) { + [subItem.constraints autoRemoveConstraints]; + } + } + }*/ + if (!_didSetupConstraints) { - [NSLayoutConstraint deactivateConstraints:self.constraints]; + [self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:-(_rows*_itemHeight)]; + [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; + [self autoSetDimension:ALDimensionHeight toSize:_rows*_itemHeight]; - for (TabBarItem *item in _itemsArray) { - for (TabBarSubItem *subItem in item.subItems) { - [subItem.constraints autoRemoveConstraints]; - } - } + [_subItemCollectionView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + [_subItemCollectionView autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; + [_subItemCollectionView setBackgroundColor:[UIColor redColor]]; + _didSetupConstraints = YES; } - [self autoConstrainAttribute:ALEdgeTop toAttribute:ALMarginTop ofView:self.superview withOffset:self.superview.frame.size.height]; - [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; - [self autoSetDimension:ALDimensionHeight toSize:_rows*44]; - - [_subItemCollectionView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; - [_subItemCollectionView autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; - [_subItemCollectionView setBackgroundColor:[UIColor redColor]]; } @end diff --git a/Pod/Classes/TabBarSubItem.m b/Pod/Classes/TabBarSubItem.m index f2e32e5..792aa97 100644 --- a/Pod/Classes/TabBarSubItem.m +++ b/Pod/Classes/TabBarSubItem.m @@ -12,6 +12,7 @@ @interface TabBarSubItem() @property (nonatomic) UIDeviceOrientation orientation; +@property (nonatomic, assign) BOOL didSetupConstraints; @end @@ -52,10 +53,16 @@ - (void) layoutSubviews { - if ([self.constraints count] > 0) { + /*if ([self.constraints count] > 0) { [NSLayoutConstraint deactivateConstraints:self.constraints]; + }*/ + + if (_didSetupConstraints) { + + + _didSetupConstraints = YES; } } From 1797083a99ccbeb6515a403e716651ce286b3bb2 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Wed, 22 Jul 2015 17:43:49 +0200 Subject: [PATCH 05/13] - Add Show/Hide Animation --- Pod/Classes/TabBarPicker.m | 48 +++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 1c0dae4..6d98a6b 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -20,6 +20,9 @@ @property (nonatomic, strong) TabBarPickerSubItemsView *subItemSelector; @property (nonatomic) BOOL show; @property (nonatomic, assign) BOOL didSetupConstraints; +@property (nonatomic, strong) NSLayoutConstraint *showConstraint; + +@property (nonatomic, strong) NSLayoutConstraint *hideConstraint; @end @@ -145,7 +148,7 @@ case TabBarPickerPositionBottom: default:{ - [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; + _hideConstraint = [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; [self autoSetDimension:ALDimensionHeight toSize:44]; [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; [self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]; @@ -159,13 +162,19 @@ break; } - - [_subItemSelector layoutSubviews]; _didSetupConstraints = YES; [self updateConstraintsIfNeeded]; } + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self show]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self hide]; + }); } - (void) setPosition:(TabBarPickerPosition)position { @@ -204,21 +213,44 @@ [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; - [UIView animateWithDuration:1.0 + [UIView animateWithDuration:4 delay:0.0 - options:UIViewAnimationOptionCurveEaseInOut + usingSpringWithDamping:0.6 + initialSpringVelocity:0 + options:0 animations:^{ - [self layoutIfNeeded]; // this is what actually causes the views to animate to their new layout + [_hideConstraint autoRemove]; + + _showConstraint = [self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:_subItemSelector.frame.size.height]; } completion:^(BOOL finished) { // Run the animation again in the other direction - }]; } } - (void) hide { - + if (_show) { + + _show = NO; + [self setNeedsUpdateConstraints]; + [self updateConstraintsIfNeeded]; + + [UIView animateWithDuration:4 + delay:0.0 + usingSpringWithDamping:0.6 + initialSpringVelocity:0 + options:0 + animations:^{ + + [_showConstraint autoRemove]; + + _hideConstraint = [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; + } + completion:^(BOOL finished) { + // Run the animation again in the other direction + }]; + } } #pragma mark TabBarPickerSubItemsViewDelegate From 4936fcd2ecde5345870d4169b1eef56261aa6965 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Fri, 7 Aug 2015 12:31:48 +0200 Subject: [PATCH 06/13] - Fix - upgrade Pods --- Example/Podfile | 2 + Example/Podfile.lock | 5 +- .../Private/TabBarPicker/MMCPSScrollView.h | 1 + .../Private/TabBarPicker/NSString+HexColor.h | 1 + .../Private/UIView-Overlay/UIView+Overlay.h | 1 + .../Public/PureLayout/ALView+PureLayout.h | 1 - .../Public/PureLayout/NSArray+PureLayout.h | 1 - .../NSLayoutConstraint+PureLayout.h | 1 - .../Public/PureLayout/PureLayout+Internal.h | 1 - .../Headers/Public/PureLayout/PureLayout.h | 1 - .../Public/PureLayout/PureLayoutDefines.h | 1 - .../Headers/Public/TabBarPicker/TabBarItem.h | 1 - .../Public/TabBarPicker/TabBarPicker.h | 1 - .../TabBarPicker/TabBarPickerSubItemsView.h | 1 - .../Public/TabBarPicker/TabBarSubItem.h | 1 - Example/Pods/Headers/Public/pop/POP.h | 1 - .../Public/pop/POPAnimatableProperty.h | 1 - .../Pods/Headers/Public/pop/POPAnimation.h | 1 - .../Headers/Public/pop/POPAnimationEvent.h | 1 - .../Headers/Public/pop/POPAnimationExtras.h | 1 - .../Headers/Public/pop/POPAnimationTracer.h | 1 - Example/Pods/Headers/Public/pop/POPAnimator.h | 1 - .../Headers/Public/pop/POPBasicAnimation.h | 1 - .../Headers/Public/pop/POPCustomAnimation.h | 1 - .../Headers/Public/pop/POPDecayAnimation.h | 1 - Example/Pods/Headers/Public/pop/POPDefines.h | 1 - Example/Pods/Headers/Public/pop/POPGeometry.h | 1 - .../Pods/Headers/Public/pop/POPLayerExtras.h | 1 - .../Headers/Public/pop/POPPropertyAnimation.h | 1 - .../Headers/Public/pop/POPSpringAnimation.h | 1 - Example/Pods/Manifest.lock | 5 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 2724 +++++++---------- .../xcschemes/TabBarPicker.xcscheme | 62 + .../Pods-PureLayout-Private.xcconfig | 9 - .../Pods-PureLayout/Pods-PureLayout-dummy.m | 5 - ...Picker_Example-PureLayout-Private.xcconfig | 9 - ...ds-TabBarPicker_Example-PureLayout-dummy.m | 5 - ...TabBarPicker_Example-PureLayout-prefix.pch | 5 - ...TabBarPicker_Example-PureLayout-umbrella.h | 12 - ...-TabBarPicker_Example-PureLayout.modulemap | 6 - ...cker_Example-TabBarPicker-Private.xcconfig | 9 - ...-TabBarPicker_Example-TabBarPicker-dummy.m | 5 - ...bBarPicker_Example-TabBarPicker-prefix.pch | 5 - ...abBarPicker_Example-TabBarPicker.modulemap | 6 - ...-TabBarPicker_Example-pop-Private.xcconfig | 11 - .../Pods-TabBarPicker_Example-pop-dummy.m | 5 - .../Pods-TabBarPicker_Example-pop-prefix.pch | 5 - .../Pods-TabBarPicker_Example-pop.modulemap | 6 - .../Pods-TabBarPicker_Example-pop.xcconfig | 3 - ...arPicker_Example-acknowledgements.markdown | 72 +- ...abBarPicker_Example-acknowledgements.plist | 84 +- .../Pods-TabBarPicker_Example-environment.h | 26 - .../Pods-TabBarPicker_Example-frameworks.sh | 52 +- .../Pods-TabBarPicker_Example-resources.sh | 6 +- .../Pods-TabBarPicker_Example.debug.xcconfig | 8 +- ...Pods-TabBarPicker_Example.release.xcconfig | 8 +- .../Info.plist | 26 - ...Picker_Tests-TabBarPicker-Private.xcconfig | 9 - ...ds-TabBarPicker_Tests-TabBarPicker-dummy.m | 5 - ...TabBarPicker_Tests-TabBarPicker-umbrella.h | 10 - ...s-TabBarPicker_Tests-TabBarPicker.xcconfig | 0 .../Pods-TabBarPicker_Tests-environment.h | 14 - .../Pods-TabBarPicker_Tests-frameworks.sh | 42 +- .../Pods-TabBarPicker_Tests-resources.sh | 6 +- .../Pods-TabBarPicker_Tests.debug.xcconfig | 6 +- .../Pods-TabBarPicker_Tests.release.xcconfig | 6 +- .../Target Support Files/Pods-pop/Info.plist | 26 - .../Pods-pop/Pods-pop-Private.xcconfig | 11 - .../Pods-pop/Pods-pop-dummy.m | 5 - .../Pods-pop/Pods-pop-umbrella.h | 21 - .../Pods-pop/Pods-pop.xcconfig | 3 - .../Pods/Pods-environment.h | 20 - .../Pods/Pods-frameworks.sh | 46 +- .../Pods/Pods-resources.sh | 6 +- .../Pods/Pods.debug.xcconfig | 8 +- .../Pods/Pods.release.xcconfig | 8 +- .../Info.plist | 0 .../PureLayout/PureLayout-Private.xcconfig | 5 + .../PureLayout/PureLayout-dummy.m | 5 + .../PureLayout-prefix.pch} | 1 - .../PureLayout-umbrella.h} | 0 .../PureLayout.modulemap} | 2 +- .../PureLayout.xcconfig} | 0 .../Info.plist | 0 .../TabBarPicker-Private.xcconfig | 5 + .../TabBarPicker/TabBarPicker-dummy.m | 5 + .../TabBarPicker-prefix.pch} | 1 - .../TabBarPicker-umbrella.h} | 2 + .../TabBarPicker.modulemap} | 2 +- .../TabBarPicker.xcconfig} | 0 .../Info.plist | 2 +- .../UIView-Overlay-Private.xcconfig | 5 + .../UIView-Overlay/UIView-Overlay-dummy.m | 5 + .../UIView-Overlay-prefix.pch} | 1 - .../UIView-Overlay/UIView-Overlay-umbrella.h | 7 + .../UIView-Overlay/UIView-Overlay.modulemap | 6 + .../UIView-Overlay.xcconfig} | 0 .../Info.plist | 0 .../pop/pop-Private.xcconfig | 8 + .../Pods/Target Support Files/pop/pop-dummy.m | 5 + .../Target Support Files/pop/pop-prefix.pch | 4 + .../pop-umbrella.h} | 0 .../Pods-pop.modulemap => pop/pop.modulemap} | 2 +- .../Target Support Files/pop/pop.xcconfig | 3 + Example/Pods/UIView-Overlay/LICENSE | 22 + Example/Pods/UIView-Overlay/README.md | 28 + Example/Pods/UIView-Overlay/UIView+Overlay.h | 17 + Example/Pods/UIView-Overlay/UIView+Overlay.m | 86 + .../AppIcon.appiconset/Contents.json | 17 +- .../LaunchImage.launchimage/Contents.json | 39 +- .../Default-568h@2x.png | Bin 0 -> 9609 bytes .../LaunchImage.launchimage/Default@2x.png | Bin 0 -> 8134 bytes .../Default~ipad~landscape~nostatusbar.png | Bin 0 -> 10385 bytes .../Default~ipad~landscape~nostatusbar@2x.png | Bin 0 -> 41302 bytes .../Default~ipad~nostatusbar.png | Bin 0 -> 10386 bytes .../Default~ipad~nostatusbar@2x.png | Bin 0 -> 41304 bytes .../iPhone6-Plus-landscape@3x.png | Bin 0 -> 36010 bytes .../iPhone6-Plus-portrait@3x.png | Bin 0 -> 36014 bytes .../iPhone6-portrait@2x.png | Bin 0 -> 13186 bytes Example/TabBarPicker/TabBarPicker-Info.plist | 2 + .../TabBarPicker/TabBarPickerViewController.m | 36 +- Pod/Classes/TabBarItem.h | 13 +- Pod/Classes/TabBarItem.m | 34 + Pod/Classes/TabBarPicker.h | 6 + Pod/Classes/TabBarPicker.m | 208 +- Pod/Classes/TabBarPickerSubItemsView.h | 4 +- Pod/Classes/TabBarPickerSubItemsView.m | 21 +- .../Vendor/MMCPSScrollView/MMCPSScrollView.h | 54 + .../Vendor/MMCPSScrollView/MMCPSScrollView.m | 321 ++ .../NSString+HexColor/NSString+HexColor.h | 15 + .../NSString+HexColor/NSString+HexColor.m | 54 + 131 files changed, 2426 insertions(+), 2093 deletions(-) create mode 120000 Example/Pods/Headers/Private/TabBarPicker/MMCPSScrollView.h create mode 120000 Example/Pods/Headers/Private/TabBarPicker/NSString+HexColor.h create mode 120000 Example/Pods/Headers/Private/UIView-Overlay/UIView+Overlay.h delete mode 120000 Example/Pods/Headers/Public/PureLayout/ALView+PureLayout.h delete mode 120000 Example/Pods/Headers/Public/PureLayout/NSArray+PureLayout.h delete mode 120000 Example/Pods/Headers/Public/PureLayout/NSLayoutConstraint+PureLayout.h delete mode 120000 Example/Pods/Headers/Public/PureLayout/PureLayout+Internal.h delete mode 120000 Example/Pods/Headers/Public/PureLayout/PureLayout.h delete mode 120000 Example/Pods/Headers/Public/PureLayout/PureLayoutDefines.h delete mode 120000 Example/Pods/Headers/Public/TabBarPicker/TabBarItem.h delete mode 120000 Example/Pods/Headers/Public/TabBarPicker/TabBarPicker.h delete mode 120000 Example/Pods/Headers/Public/TabBarPicker/TabBarPickerSubItemsView.h delete mode 120000 Example/Pods/Headers/Public/TabBarPicker/TabBarSubItem.h delete mode 120000 Example/Pods/Headers/Public/pop/POP.h delete mode 120000 Example/Pods/Headers/Public/pop/POPAnimatableProperty.h delete mode 120000 Example/Pods/Headers/Public/pop/POPAnimation.h delete mode 120000 Example/Pods/Headers/Public/pop/POPAnimationEvent.h delete mode 120000 Example/Pods/Headers/Public/pop/POPAnimationExtras.h delete mode 120000 Example/Pods/Headers/Public/pop/POPAnimationTracer.h delete mode 120000 Example/Pods/Headers/Public/pop/POPAnimator.h delete mode 120000 Example/Pods/Headers/Public/pop/POPBasicAnimation.h delete mode 120000 Example/Pods/Headers/Public/pop/POPCustomAnimation.h delete mode 120000 Example/Pods/Headers/Public/pop/POPDecayAnimation.h delete mode 120000 Example/Pods/Headers/Public/pop/POPDefines.h delete mode 120000 Example/Pods/Headers/Public/pop/POPGeometry.h delete mode 120000 Example/Pods/Headers/Public/pop/POPLayerExtras.h delete mode 120000 Example/Pods/Headers/Public/pop/POPPropertyAnimation.h delete mode 120000 Example/Pods/Headers/Public/pop/POPSpringAnimation.h create mode 100644 Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme delete mode 100644 Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-umbrella.h delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-prefix.pch delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.modulemap delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-prefix.pch delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.modulemap delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-environment.h delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Info.plist delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-environment.h delete mode 100644 Example/Pods/Target Support Files/Pods-pop/Info.plist delete mode 100644 Example/Pods/Target Support Files/Pods-pop/Pods-pop-Private.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods-pop/Pods-pop-dummy.m delete mode 100644 Example/Pods/Target Support Files/Pods-pop/Pods-pop-umbrella.h delete mode 100644 Example/Pods/Target Support Files/Pods-pop/Pods-pop.xcconfig delete mode 100644 Example/Pods/Target Support Files/Pods/Pods-environment.h rename Example/Pods/Target Support Files/{Pods-PureLayout => PureLayout}/Info.plist (100%) create mode 100644 Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/PureLayout/PureLayout-dummy.m rename Example/Pods/Target Support Files/{Pods-PureLayout/Pods-PureLayout-prefix.pch => PureLayout/PureLayout-prefix.pch} (62%) rename Example/Pods/Target Support Files/{Pods-PureLayout/Pods-PureLayout-umbrella.h => PureLayout/PureLayout-umbrella.h} (100%) rename Example/Pods/Target Support Files/{Pods-PureLayout/Pods-PureLayout.modulemap => PureLayout/PureLayout.modulemap} (59%) rename Example/Pods/Target Support Files/{Pods-PureLayout/Pods-PureLayout.xcconfig => PureLayout/PureLayout.xcconfig} (100%) rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-TabBarPicker => TabBarPicker}/Info.plist (100%) create mode 100644 Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-dummy.m rename Example/Pods/Target Support Files/{Pods-pop/Pods-pop-prefix.pch => TabBarPicker/TabBarPicker-prefix.pch} (62%) rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-umbrella.h => TabBarPicker/TabBarPicker-umbrella.h} (81%) rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap => TabBarPicker/TabBarPicker.modulemap} (50%) rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.xcconfig => TabBarPicker/TabBarPicker.xcconfig} (100%) rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-PureLayout => UIView-Overlay}/Info.plist (97%) create mode 100644 Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-dummy.m rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch => UIView-Overlay/UIView-Overlay-prefix.pch} (50%) create mode 100644 Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-umbrella.h create mode 100644 Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.modulemap rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.xcconfig => UIView-Overlay/UIView-Overlay.xcconfig} (100%) rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-pop => pop}/Info.plist (100%) create mode 100644 Example/Pods/Target Support Files/pop/pop-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/pop/pop-dummy.m create mode 100644 Example/Pods/Target Support Files/pop/pop-prefix.pch rename Example/Pods/Target Support Files/{Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-umbrella.h => pop/pop-umbrella.h} (100%) rename Example/Pods/Target Support Files/{Pods-pop/Pods-pop.modulemap => pop/pop.modulemap} (60%) create mode 100644 Example/Pods/Target Support Files/pop/pop.xcconfig create mode 100644 Example/Pods/UIView-Overlay/LICENSE create mode 100644 Example/Pods/UIView-Overlay/README.md create mode 100644 Example/Pods/UIView-Overlay/UIView+Overlay.h create mode 100644 Example/Pods/UIView-Overlay/UIView+Overlay.m create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default@2x.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~landscape~nostatusbar.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~landscape~nostatusbar@2x.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~nostatusbar.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~nostatusbar@2x.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-Plus-landscape@3x.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-Plus-portrait@3x.png create mode 100644 Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-portrait@2x.png create mode 100755 Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h create mode 100755 Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m create mode 100755 Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.h create mode 100755 Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.m diff --git a/Example/Podfile b/Example/Podfile index 25f43aa..b883fb7 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -9,6 +9,8 @@ target 'TabBarPicker_Example', :exclusive => true do pod "TabBarPicker", :path => "../" pod 'PureLayout' pod 'pop', '~> 1.0' + pod 'UIView-Overlay' + end target 'TabBarPicker_Tests', :exclusive => true do diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 333da4b..2a5c58c 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -2,11 +2,13 @@ PODS: - pop (1.0.7) - PureLayout (2.0.6) - TabBarPicker (0.1.0) + - UIView-Overlay (0.1) DEPENDENCIES: - pop (~> 1.0) - PureLayout - TabBarPicker (from `../`) + - UIView-Overlay EXTERNAL SOURCES: TabBarPicker: @@ -16,5 +18,6 @@ SPEC CHECKSUMS: pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 PureLayout: f25f0bb904d5ccfe6e31da3cb869185259f02e0d TabBarPicker: 0b8b0c04ad47ed9c740cef5d31cac7fefe6cb273 + UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 -COCOAPODS: 0.37.2 +COCOAPODS: 0.38.2 diff --git a/Example/Pods/Headers/Private/TabBarPicker/MMCPSScrollView.h b/Example/Pods/Headers/Private/TabBarPicker/MMCPSScrollView.h new file mode 120000 index 0000000..0f8020f --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/MMCPSScrollView.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/TabBarPicker/NSString+HexColor.h b/Example/Pods/Headers/Private/TabBarPicker/NSString+HexColor.h new file mode 120000 index 0000000..bafdcaa --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/NSString+HexColor.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/UIView-Overlay/UIView+Overlay.h b/Example/Pods/Headers/Private/UIView-Overlay/UIView+Overlay.h new file mode 120000 index 0000000..f64afb1 --- /dev/null +++ b/Example/Pods/Headers/Private/UIView-Overlay/UIView+Overlay.h @@ -0,0 +1 @@ +../../../UIView-Overlay/UIView+Overlay.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/PureLayout/ALView+PureLayout.h b/Example/Pods/Headers/Public/PureLayout/ALView+PureLayout.h deleted file mode 120000 index ac489e2..0000000 --- a/Example/Pods/Headers/Public/PureLayout/ALView+PureLayout.h +++ /dev/null @@ -1 +0,0 @@ -../../../PureLayout/PureLayout/PureLayout/ALView+PureLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/PureLayout/NSArray+PureLayout.h b/Example/Pods/Headers/Public/PureLayout/NSArray+PureLayout.h deleted file mode 120000 index 76395e6..0000000 --- a/Example/Pods/Headers/Public/PureLayout/NSArray+PureLayout.h +++ /dev/null @@ -1 +0,0 @@ -../../../PureLayout/PureLayout/PureLayout/NSArray+PureLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/PureLayout/NSLayoutConstraint+PureLayout.h b/Example/Pods/Headers/Public/PureLayout/NSLayoutConstraint+PureLayout.h deleted file mode 120000 index a2afdda..0000000 --- a/Example/Pods/Headers/Public/PureLayout/NSLayoutConstraint+PureLayout.h +++ /dev/null @@ -1 +0,0 @@ -../../../PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/PureLayout/PureLayout+Internal.h b/Example/Pods/Headers/Public/PureLayout/PureLayout+Internal.h deleted file mode 120000 index 972a4ee..0000000 --- a/Example/Pods/Headers/Public/PureLayout/PureLayout+Internal.h +++ /dev/null @@ -1 +0,0 @@ -../../../PureLayout/PureLayout/PureLayout/PureLayout+Internal.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/PureLayout/PureLayout.h b/Example/Pods/Headers/Public/PureLayout/PureLayout.h deleted file mode 120000 index 616d281..0000000 --- a/Example/Pods/Headers/Public/PureLayout/PureLayout.h +++ /dev/null @@ -1 +0,0 @@ -../../../PureLayout/PureLayout/PureLayout/PureLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/PureLayout/PureLayoutDefines.h b/Example/Pods/Headers/Public/PureLayout/PureLayoutDefines.h deleted file mode 120000 index 4a67193..0000000 --- a/Example/Pods/Headers/Public/PureLayout/PureLayoutDefines.h +++ /dev/null @@ -1 +0,0 @@ -../../../PureLayout/PureLayout/PureLayout/PureLayoutDefines.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/TabBarPicker/TabBarItem.h b/Example/Pods/Headers/Public/TabBarPicker/TabBarItem.h deleted file mode 120000 index be641b2..0000000 --- a/Example/Pods/Headers/Public/TabBarPicker/TabBarItem.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../Pod/Classes/TabBarItem.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/TabBarPicker/TabBarPicker.h b/Example/Pods/Headers/Public/TabBarPicker/TabBarPicker.h deleted file mode 120000 index be42cd8..0000000 --- a/Example/Pods/Headers/Public/TabBarPicker/TabBarPicker.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../Pod/Classes/TabBarPicker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/TabBarPicker/TabBarPickerSubItemsView.h b/Example/Pods/Headers/Public/TabBarPicker/TabBarPickerSubItemsView.h deleted file mode 120000 index fc226bc..0000000 --- a/Example/Pods/Headers/Public/TabBarPicker/TabBarPickerSubItemsView.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../Pod/Classes/TabBarPickerSubItemsView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/TabBarPicker/TabBarSubItem.h b/Example/Pods/Headers/Public/TabBarPicker/TabBarSubItem.h deleted file mode 120000 index 1a5d458..0000000 --- a/Example/Pods/Headers/Public/TabBarPicker/TabBarSubItem.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../Pod/Classes/TabBarSubItem.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POP.h b/Example/Pods/Headers/Public/pop/POP.h deleted file mode 120000 index dd15660..0000000 --- a/Example/Pods/Headers/Public/pop/POP.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POP.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPAnimatableProperty.h b/Example/Pods/Headers/Public/pop/POPAnimatableProperty.h deleted file mode 120000 index 48fd8c4..0000000 --- a/Example/Pods/Headers/Public/pop/POPAnimatableProperty.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPAnimatableProperty.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPAnimation.h b/Example/Pods/Headers/Public/pop/POPAnimation.h deleted file mode 120000 index dfe8a85..0000000 --- a/Example/Pods/Headers/Public/pop/POPAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPAnimationEvent.h b/Example/Pods/Headers/Public/pop/POPAnimationEvent.h deleted file mode 120000 index 5d40492..0000000 --- a/Example/Pods/Headers/Public/pop/POPAnimationEvent.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPAnimationEvent.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPAnimationExtras.h b/Example/Pods/Headers/Public/pop/POPAnimationExtras.h deleted file mode 120000 index 3a1bc7e..0000000 --- a/Example/Pods/Headers/Public/pop/POPAnimationExtras.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPAnimationExtras.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPAnimationTracer.h b/Example/Pods/Headers/Public/pop/POPAnimationTracer.h deleted file mode 120000 index 64fff66..0000000 --- a/Example/Pods/Headers/Public/pop/POPAnimationTracer.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPAnimationTracer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPAnimator.h b/Example/Pods/Headers/Public/pop/POPAnimator.h deleted file mode 120000 index 89707ea..0000000 --- a/Example/Pods/Headers/Public/pop/POPAnimator.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPAnimator.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPBasicAnimation.h b/Example/Pods/Headers/Public/pop/POPBasicAnimation.h deleted file mode 120000 index 50184f2..0000000 --- a/Example/Pods/Headers/Public/pop/POPBasicAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPBasicAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPCustomAnimation.h b/Example/Pods/Headers/Public/pop/POPCustomAnimation.h deleted file mode 120000 index 5025bd6..0000000 --- a/Example/Pods/Headers/Public/pop/POPCustomAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPCustomAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPDecayAnimation.h b/Example/Pods/Headers/Public/pop/POPDecayAnimation.h deleted file mode 120000 index dba2796..0000000 --- a/Example/Pods/Headers/Public/pop/POPDecayAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPDecayAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPDefines.h b/Example/Pods/Headers/Public/pop/POPDefines.h deleted file mode 120000 index 4b10036..0000000 --- a/Example/Pods/Headers/Public/pop/POPDefines.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPDefines.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPGeometry.h b/Example/Pods/Headers/Public/pop/POPGeometry.h deleted file mode 120000 index 9b29189..0000000 --- a/Example/Pods/Headers/Public/pop/POPGeometry.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPGeometry.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPLayerExtras.h b/Example/Pods/Headers/Public/pop/POPLayerExtras.h deleted file mode 120000 index e11f4c6..0000000 --- a/Example/Pods/Headers/Public/pop/POPLayerExtras.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPLayerExtras.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPPropertyAnimation.h b/Example/Pods/Headers/Public/pop/POPPropertyAnimation.h deleted file mode 120000 index 0fae4c5..0000000 --- a/Example/Pods/Headers/Public/pop/POPPropertyAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPPropertyAnimation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/pop/POPSpringAnimation.h b/Example/Pods/Headers/Public/pop/POPSpringAnimation.h deleted file mode 120000 index 152f663..0000000 --- a/Example/Pods/Headers/Public/pop/POPSpringAnimation.h +++ /dev/null @@ -1 +0,0 @@ -../../../pop/pop/POPSpringAnimation.h \ No newline at end of file diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 333da4b..2a5c58c 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -2,11 +2,13 @@ PODS: - pop (1.0.7) - PureLayout (2.0.6) - TabBarPicker (0.1.0) + - UIView-Overlay (0.1) DEPENDENCIES: - pop (~> 1.0) - PureLayout - TabBarPicker (from `../`) + - UIView-Overlay EXTERNAL SOURCES: TabBarPicker: @@ -16,5 +18,6 @@ SPEC CHECKSUMS: pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 PureLayout: f25f0bb904d5ccfe6e31da3cb869185259f02e0d TabBarPicker: 0b8b0c04ad47ed9c740cef5d31cac7fefe6cb273 + UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 -COCOAPODS: 0.37.2 +COCOAPODS: 0.38.2 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 435e2fe..63469f4 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1207 +7,1003 @@ objects = { /* Begin PBXBuildFile section */ - 017751B00A19E088774A9A36 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = E226A506D7BEE5F31C0E2CFA /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 020843D9EEED6434BCA8E03C /* Pods-PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE98FB43FD8AF87558C949F /* Pods-PureLayout-dummy.m */; }; - 027D27FD80F8B6438DF32D71 /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EA47F53E372DEAEB5FFD0A7 /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 03B13D81C2989C4E60F7E4C1 /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49DBB4DFA4326F5EC64B2D20 /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 04DFEC15EEFF9343248C0DAB /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 76F5D472F78835DF10642FED /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 056E6B5B25D44CB683046ED1 /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A75BF9B5A218000B19C110 /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06F936D1FD0CACBAB8D42186 /* POPCGUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AC5D29211DE73190905B5 /* POPCGUtils.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 08182F13A05154CD65AE4605 /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EBFE41004AD256533049528 /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 081902C0DB6F767D5CFCFDE2 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 481DCCBEAAE97AFD01526FA2 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 08B6146381C539B85D07FB1A /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5DC4E453F2301DC52DBA943 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 098901416FF5313A32689A9F /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 552AB480E386C5B46102AA6B /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0A21560A1589020F1ADF7538 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = C89755B7429BA8416726C976 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0BAD9CCE021D6E4C47E0FD1B /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BFB1C574D40FD98565713A7 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D8D216CEDB0B0736446A7DF /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 220C2C21C3E8499F4FB6C89D /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 0E4DF8DF77CF83ECC1E2BE39 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248FBB7C7DFF12C26E977F54 /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1036C50D9AE0550A4781B329 /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8D5DD94D1DBD83E9361E2491 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 11007AE2D26CDC979E005596 /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5236EEA3772FB0C5F62894A /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 117498583BC6DB0334A28D40 /* POPAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7671C709696939CF728CBF89 /* POPAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11CF75E335E70880AAE04F2B /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 13660ECE3ACE682AFF3887AC /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 11E4EE40700313091CF3754C /* POPGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = CB727B79627320DFC1811EE6 /* POPGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 128BF7250491FE69CCE651A6 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 813339C86C19EA6B7D13FD9E /* Pods-TabBarPicker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 13D596AC60910E6041FB5E7F /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CF169FBEF3383F97806A666 /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 144119FD75791DEAD799F080 /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 60CFC588A9F296D142625E9D /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 18DE3E0DDC18F705CFDE950F /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 49DBB4DFA4326F5EC64B2D20 /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 18FC9128420B3E68521A14D3 /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5236EEA3772FB0C5F62894A /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 1C01B2F40E2C216B21EAFC1B /* POPAnimationTracerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 62620BD82EA9934614182BC3 /* POPAnimationTracerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1F237B0FA9BAC33DF04D8AF0 /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BFB1C574D40FD98565713A7 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1FDA3E66D6FE684C5C01781E /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B59B1AB19F58353D0AEF09E /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 209A8423AD1FDC253035CB31 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 83CB18A7F96034CA5A052598 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 20A6BFDC9770DECA3F784147 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = C89755B7429BA8416726C976 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 21C8F509E1848075B377C10F /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 13660ECE3ACE682AFF3887AC /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 24C775D0AD925E654FF48F87 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 481DCCBEAAE97AFD01526FA2 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2844095F9390BDD7700091A2 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248FBB7C7DFF12C26E977F54 /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 290D82292817D918C6D8BB57 /* Pods-TabBarPicker_Tests-TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B5B5AC54CFEB05692AA815A /* Pods-TabBarPicker_Tests-TabBarPicker-dummy.m */; }; - 2AF197897974F0ED47E5BA73 /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = DF7EBCFBD69634580761F226 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 2B9E63D0B263EA5EB7A744EB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - 2CDE7A59FACC9547C5317663 /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6D83D7CC82208B8F5DB6F9B2 /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 2DD68C910B9C3A1CBE965A8B /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = C97337B6B1C0C92F79B3C60B /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2E3A6031BF5D6579C2A39CE8 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 489D9E1E1C7A2D5F8BC9F84C /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E7F4A880041D1679751ECEC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - 2FCB6F04A738E00FF30FC790 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FCFE30967DE61491182F4C5 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 307EC0A341B79BF722B32F98 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = A51FE7687AB0793F310D2B9B /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 312CF9C31CF6352828C90148 /* POPAnimationTracer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 322F6F4AB63287ECAF0CA6CD /* POPAnimationTracer.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 32C9D8217BCCDE3DCD65E544 /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 9799C38880B19C8D8127D387 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 336110892E9B9A9F7667AE30 /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 361BBEEFA5B9AD92637B4A08 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 340517EEFF7FB5C69AB5E7E3 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D0486D2A6CC5159ED6C3FA5 /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 341730B4E008176F2048D789 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = E226A506D7BEE5F31C0E2CFA /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3DBFAF474ADE9C7BAEBA8C6A /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6D83D7CC82208B8F5DB6F9B2 /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 40BDE802A00DFD84EF4F625E /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 66C7B75EB841D53F0EC483E0 /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 42A09D79DFE7231826C7F0FB /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 45D8B817339DC323C26500BD /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 47B0500E556E3692E1BBD7FB /* Pods-pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AA26A92C09486DC977E4DAF7 /* Pods-pop-dummy.m */; }; - 47BF1D4CDBC8D9D8CF6D85BC /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C6A1ED918F18DBCB84B212DA /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 492B544808CCC6D323564B16 /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 1312AE216DB90DE6BCCFEE9D /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 49F3C6BDA9995B381ABF6FAD /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EA47F53E372DEAEB5FFD0A7 /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 4B24E249027F39B5C229D67B /* POPAnimationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 1601934E60C7E519C0FEDC56 /* POPAnimationExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4B8F6804497295478FE16F30 /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 901108BC6D9A8F028EDAD8F2 /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4D5DD060A66688615FD4E9EB /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = B8B9D49500DD7A18D29BC0CD /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 4EEF05B7B49486A963343387 /* POPGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = CB727B79627320DFC1811EE6 /* POPGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5108695DCD420DB9B9336924 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4291D5DE14FE83D5B6B9156E /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 51E8D4F3F72F912B81C1DB9B /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = ED11DDCF7451052F5D7DB7FC /* TabBarPicker.bundle */; }; - 55C68813CBBF2AF8A18AACD6 /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = DF7EBCFBD69634580761F226 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 564F9D0578414AD4B735E081 /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = A4F94EB380221710F30AFABC /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 56A01D53215DD2C38A1DF3C0 /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 901108BC6D9A8F028EDAD8F2 /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 56DFBD0EEC8D672C0C9F02F7 /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C38118B267F78FF311DC60E /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 586007BAA0A6603293988140 /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D391F023EF911E0E8CAADA5 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5906B89ABF001AA820C85A0D /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C2A10274C723A159433ED1 /* Pods-dummy.m */; }; - 5914913A5D8681C6A38503F2 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0989F71569E92C4CBAFE1921 /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 5B586BB61B5E9B928EB90EAB /* POPAnimationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 1601934E60C7E519C0FEDC56 /* POPAnimationExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D52FDF3FBAD15100F8B2DA2 /* POPAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7671C709696939CF728CBF89 /* POPAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5FC120A542C16A10BC63BE97 /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F726856037B0FAE7F190DEA /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6228DBC163C4507004F353F4 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0989F71569E92C4CBAFE1921 /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 6418584882588F555B146223 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D356A9EEEA5DDCF8FF04FB7 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6418C1B27B86A5BE0EE11B87 /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC550239DC303E4407ECDC2 /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B7B6BB7B019AEA8BB22F119 /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8D5DD94D1DBD83E9361E2491 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 6CBFBDBDE1CBBD4BA906861A /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 5479DC06522B7F04045D9787 /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6DB438FBC269069D4CCB21E8 /* POPCGUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6E4AC5D29211DE73190905B5 /* POPCGUtils.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 6DED92D38E9CAA6952AF5608 /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 5479DC06522B7F04045D9787 /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6DF4E0E24E3256BF574462D0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - 6EA89B183674A2ACDECB04E0 /* Pods-TabBarPicker_Example-pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A7C186830A35BB4C268F975 /* Pods-TabBarPicker_Example-pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6EAD877044B73A9D5854B5B7 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D356A9EEEA5DDCF8FF04FB7 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7131945C73D4C0FD8D714B22 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 671119BD943A4653A352A441 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 715F0E1D29D7145FA2C69E34 /* Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 94B31BDE01F6DFC4A63DFF9A /* Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 729044F6A7DAA40AD4808B1D /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = A7ECA2F74F793F76240F306D /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 734FE62A4C80C836913CF34D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - 75F66501334553B157607CBC /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 361BBEEFA5B9AD92637B4A08 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 765BC6E753BAEA1F1756446E /* POPSpringAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DB75B471EDA1CA2DE9C33C0F /* POPSpringAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76939EFE9DE303F6833BEDAF /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B3719287A9AF0C8F9D5C15CD /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 77B2793ECEE9C9710A36614F /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 489D9E1E1C7A2D5F8BC9F84C /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 788052CE12E84D027B723C4F /* POPAnimationTracer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 322F6F4AB63287ECAF0CA6CD /* POPAnimationTracer.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 78CAA47D939E5228BA39C2D1 /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 552AB480E386C5B46102AA6B /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B30AFAE62B59FD2C63F5AC2 /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A75BF9B5A218000B19C110 /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C0277E4F69FFAD8E6881B2D /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 99B3AFB3448E42354C7E3CA9 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 7EEFA58925CF1F0E54B25872 /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = C97337B6B1C0C92F79B3C60B /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 80716918BBD2301FB591EF53 /* POPPropertyAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = CB321577DDDDE89741F7271C /* POPPropertyAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 8153F1510F8E97993D0F18A2 /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5DC4E453F2301DC52DBA943 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 818BCA168FADCC7FF5FEB0C5 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 83CB18A7F96034CA5A052598 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 829719688B88D39C0D27CF4D /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8898601881A3FF69CB045A /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 839659DD52AFD750CDDF3482 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D4F8D303386AC44822AF565 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8405F663AA143787C252D9B0 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4291D5DE14FE83D5B6B9156E /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 860CD73816723824CCEC4AB9 /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D391F023EF911E0E8CAADA5 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8A6172E965D8507E20F55032 /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B59B1AB19F58353D0AEF09E /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8F0FDEFCCF9CF58A25569966 /* Pods-PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F05E63141E47B3D9C7A034C /* Pods-PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8FED6AE4C37211F41462184A /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DF2C9745FAD90248C8A0E440 /* Pods-TabBarPicker_Example-dummy.m */; }; - 906F8380F7845060716E328C /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0C7A734081DC40C0F31F673C /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 914CACE912D10B0A5724D42E /* Pods-pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CBF8EA93CEB1A79869EC3347 /* Pods-pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91920145BDDDB740D379EA27 /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B3719287A9AF0C8F9D5C15CD /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93E4648EBA095B2F61D0FF3D /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 220C2C21C3E8499F4FB6C89D /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 94ADBF02799736FE3500B658 /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35CF5A05C3B6069754E32983 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 9A0F3721074793034229A008 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 912D3B150DD89D0B80BACEFF /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A7CC9808A3459547431DED5 /* Pods-TabBarPicker_Example-pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5525384DC7AE50A2B5E89645 /* Pods-TabBarPicker_Example-pop-dummy.m */; }; - 9B3163AC28AABF4F050FAD69 /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 1312AE216DB90DE6BCCFEE9D /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 9CBD4F671075F58D4566E0B2 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = B8B9D49500DD7A18D29BC0CD /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - 9D00D00D0E4D0C883429B32D /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = A4F94EB380221710F30AFABC /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4718A0FB51BAB3CBFFA2FA /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1276CC727D252F3FBCC500D8 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F5C73D80B8E8BD21FEC99E5 /* Pods-TabBarPicker_Example-PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3278943CA7BA250401368DCD /* Pods-TabBarPicker_Example-PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A2C4DE5C00CD102A55502296 /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = A7ECA2F74F793F76240F306D /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A30B63A996DFE2CDD154B849 /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 50EF158D99CB9C6F1494769E /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A31C88636BAC55E8F4B13702 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D4F8D303386AC44822AF565 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A43DBB66A802E26808F11C56 /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 3047742051845C84E58DFB86 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A46E026A7178F04988812A25 /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 60CFC588A9F296D142625E9D /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - A8B66F5282DD2E48E2074653 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 038E63B1DBCA0584644ED157 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A8EFE3C037D1713B394F1D8C /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 50EF158D99CB9C6F1494769E /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB2F3A788CBA4DDBFBF602BC /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 99B3AFB3448E42354C7E3CA9 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - AFCDBF34A953115B8C93AC99 /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1276CC727D252F3FBCC500D8 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B083E4A4515895B5BEC6C500 /* Pods-TabBarPicker_Example-PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C240B79453CA04C9D746A157 /* Pods-TabBarPicker_Example-PureLayout-dummy.m */; }; - B2EA006D2C409F9FEB8D85D5 /* Pods-TabBarPicker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EBA369F80242B946F30EC93 /* Pods-TabBarPicker_Tests-dummy.m */; }; - B84FEED9BB89D3450AFEB7D4 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 038E63B1DBCA0584644ED157 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA2B5A50486F8D860160FF8D /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A7CE41912D567ECB03A6D64 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BD57D404A47583100FD9DE8B /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 045BE7162D2570928876F033 /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - BED095B79B8E8AE2B1AA0800 /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A7CE41912D567ECB03A6D64 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1638E0920E1B5BDA9B948B5 /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0C7A734081DC40C0F31F673C /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - C2F706C6DD01D7F230E16886 /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CF169FBEF3383F97806A666 /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5D83684C883DF5BABEB0D0E /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 66C7B75EB841D53F0EC483E0 /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - CD5FBE3A47130873B6E9BE28 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D0486D2A6CC5159ED6C3FA5 /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - CDDA0B7F64F04BC2E6C39FCB /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 76F5D472F78835DF10642FED /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CEC3AB8B3CE2AED183131A8B /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 3047742051845C84E58DFB86 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D05F604195A3A025E43D406C /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EBFE41004AD256533049528 /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D0ACC06A05D07915BDBD1168 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 948796D629A2FE463CD40F14 /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D2702E4DABF3C4F7C7A10EB2 /* POPPropertyAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5C592E4B54F3B0012C323C /* POPPropertyAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D4E3665CF764F95752770A3A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - D7D25AE64019B20D9ADE26EF /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 907DC892E25945C8881BB67A /* TabBarPicker.bundle */; }; - D9978BCEEBCDE0A1F8B1CE46 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - DCF7AF7026A3C565C10FD4AF /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35CF5A05C3B6069754E32983 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - E07ED9E7484699902358B0E7 /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 45D8B817339DC323C26500BD /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E3E31B877B4D0417DA52DF48 /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 9799C38880B19C8D8127D387 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E580A2C158B568366F141E6C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - E63BEBB6A141C936C5C5F3B5 /* POPPropertyAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5C592E4B54F3B0012C323C /* POPPropertyAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E657806B6768EEFFC8A571D3 /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC550239DC303E4407ECDC2 /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6E67DB199BBAC4BA2A20BE5 /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C38118B267F78FF311DC60E /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - E7BDD4BACA7AAED76F62BF5C /* POPSpringAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DB75B471EDA1CA2DE9C33C0F /* POPSpringAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E828BA57421F1C546A9C4CE5 /* Pods-TabBarPicker_Example-TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 567CD36F67B9E3CCC7C4EAFD /* Pods-TabBarPicker_Example-TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EAE7334BBA7BBFAAF64A9D89 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FCFE30967DE61491182F4C5 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDA217CEFF48CCC0FB81B195 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - EE29462ECD0581565A45ADE4 /* Pods-TabBarPicker_Example-TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CCCD9A27B2E04FEA45C7E2F7 /* Pods-TabBarPicker_Example-TabBarPicker-dummy.m */; }; - EE6BD65ACA10F926E7B4F9B3 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 948796D629A2FE463CD40F14 /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EF5B9467B575CE7ACCC9FD56 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C6A1ED918F18DBCB84B212DA /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F0039B101E8297F2A1AE8F77 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 045BE7162D2570928876F033 /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - F248AB1E93524A2D3ED0C289 /* POPAnimationTracerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 62620BD82EA9934614182BC3 /* POPAnimationTracerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F3BE4B197450A75A892F6C9E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */; }; - F56B4A1F3B914105221550B0 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 671119BD943A4653A352A441 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F66556FD93CE50E7249F4701 /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8898601881A3FF69CB045A /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F790A3E6317AEAA88686D517 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D540B19DB6BF9FDE6C8ACFA /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FAE811900D8E0F0C12A1D3AF /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 912D3B150DD89D0B80BACEFF /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FCEFF3FD64FF2132319198C1 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = A51FE7687AB0793F310D2B9B /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; - FE1844707C6974D88035B68B /* POPPropertyAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = CB321577DDDDE89741F7271C /* POPPropertyAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode"; }; }; + 03208AEB6A03CCA0C77A5DA3A79BD522 /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 060E7DD819F53729654E36495DF47426 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0BFE7C394E8150EF5FD76D3675116D48 /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0EAB569A3E1579E852A97E70B2A52B19 /* UIView+Overlay.h in Headers */ = {isa = PBXBuildFile; fileRef = B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F7B5941BC1A4A320845B9B863551176 /* pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 108E0EDA81BB5E6B0343D317882BE687 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 11C5B9474617E9D2DB312798E38A2DC9 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15EBB865A82DF72209B0E02819463060 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15EEB9A75A38BB0F7C3B2448A705AD83 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19022D54C183B386CBCC3929AB78ED45 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1F507AB6238183B539DD9E8D6886BDED /* POPAnimationTracer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 203E916178B206E4760E275D94B537FA /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 242683D9189D01DB10D327BD4807ADF2 /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 242F2CEE058E9AFB0886BC75D30F5897 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 29B97DBB30EE19D048BEC6E25E9F9F14 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 2B787FFB562C10AD02FE1C9005365F43 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E7293FA79CA8E73693C7D7C838206AD /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E0DF9726324591447BF3C7A6CC8F6FD /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 30BE2AA9FA254A8A54B20C5D1C439CED /* UIView-Overlay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */; }; + 3329AF43344F94C2DD9A49EB23068CE8 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */; }; + 34EC1894BF64A676F556AE2782F2E2A6 /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3515851F45C9BB3FFDDD122095FF7797 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 384CE5874312610CF1414126D6E41435 /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38792B4D4276C59B21ACF9B4DE6ED4F5 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3C2F3F5F1497E202882DF7598F703088 /* POPAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3FC1CA95A408FA5E1A57AC93B0C8A988 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 74ED984E73B0A43CE00E8EF6E51000BC /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4878C076CDFE4C3EA1F69EA060123C59 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 989E7B3B998C2F701E914FC9BCEA3C4E /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48D0C42EEA0F59047616F9D4F51FBD10 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4A629B0B3B3C72CBCC07FC57FEB9FFB5 /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4BD95F156CB439EB08218A9B1BC10F87 /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4EBD0FC5A72489379615C5E2E3A9C03D /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5408B931355E2EB35B43B6E44EC7075C /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5D0EB7072D641D8EBF0FF6E2866DAF7B /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5E9A8D95ECF3F7371BCEA9B70C879960 /* POPPropertyAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 60616CBC5FED53D41E314BD96036FCA0 /* POPAnimationTracerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 610E3F00DD9A11CF2B3AB4ACDF9F2C88 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E03012F2843C461762C74A9A046EF2E /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */; }; + 6F1FE5900883A92AFA28F808B14E8726 /* TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AFFA73876E348EE6186525790CF479F1 /* TabBarPicker-dummy.m */; }; + 728A5FCB02E1760C95DEA5ED83A2C1C5 /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7391D8870EF96C08872561E1821F1085 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = F7CFC725DB20421AA2759A672603A491 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 73F5A493933876566BFE1C7557D058E0 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 758F4837B21699E995B3DA7873BE5AB9 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7635805E27D4F352CC4AC4F3E0B2228C /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7687E83DA7BAC649B3BFB96A702B8EF7 /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 787808E143D0036BA6D65469240A1653 /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCCE418ABC02DF7186BCDA0CE8F42A6E /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7997BBF6E3FBC7DF5295ABF7224B89A4 /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7BE5B65C18977D405062ACF22B6EF38C /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C632502864E8AE6F403AE489B593056 /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C6672FF5BC14E5A632F38FBCF4D84F6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 7D895EB8CC992C0E734A1AC7E73F7D41 /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7DCA23DE188D729056E041F49C521C1B /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7DDBA8DBAAFFC333C9196889504A8897 /* MMCPSScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DE7A9BEF575A7AF5C663E711314C1F6 /* MMCPSScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 800AE2604DB4E050529B32FB08E5D2CF /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 85005EF9A1EFBDE7B923C85541044847 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 860781420B1293C292A4A3D52E9F50F0 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A142C2387752EB8F0CBA87864EC1D9F /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 870316C705D226E9990777155D6AC4EC /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8E2CDC7269B59EAC84AEA46D5E28B826 /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8FB29797E35802BE65A888432368F471 /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 93B87741D4207E22B2E5DDB582C68829 /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; }; + 93F5920F69AC785B428577FC0BE0882B /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 95540F361B7B0ADA359C7E7FDD208D1D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 987758B8CC9AE1B9722212C159E99125 /* Pods-TabBarPicker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */; }; + 98DE61629DE81688A6D460FF03DD172A /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A1F2D95F436714051CFE1601C09ACAE9 /* NSString+HexColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 87FF45FA0B37BD605BC79D61F412B4DE /* NSString+HexColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A30219FCF9EC37ABE44DC610005C2595 /* UIView-Overlay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A7A6A047CA9F0ADFA09FA3F58E8DA1E3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + AE6D434ED9230B1D615A2DD259CB6038 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + AEB41D63ACB6BAF7B6DA8EAB5DBFDFEF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + B020FF612A093F9D08267D37E81E8A10 /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 5316CF84EF6CC8F29F5C8F65E47C6EE0 /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B2E46B8E61B80795CD4E94081F3A51C2 /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B373D36B22355D41ABB9B75F3EA0BBF2 /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B4DBAE098AA6F80CDCDFB1BFB6F6A7AE /* POPAnimationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BCFE039CCE625E616A25871D8BB2601D /* UIView+Overlay.m in Sources */ = {isa = PBXBuildFile; fileRef = CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BE8FD01BD558BC524643D9691934BCDF /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */; }; + C07804D5CAE775845193B0BDEAE8153A /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C83D6A4F894219C63C6ED47E108D3EB3 /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 52CE09C3405F59D40C2BD3971985CF59 /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D6B77498010DFE75E70431CBF7896FCC /* NSString+HexColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F188C3F24D664F9CEA0905C2C40C0F2 /* NSString+HexColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D905A57ED65F1E5DFD546AA26BBA6632 /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DF28F428A637429E12D16D55801D4916 /* TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A39F245747851F74126D6C816A9EF2A /* TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E01D81DAECC949E0D350DEF8A8DEF9DA /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = D59AE80D8F830B2B594F27731251395F /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0C2B1971770264E2BC030EBFA522C67 /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2B4468A72DF980C1B77E6CC18DC82F5 /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E822E9813D45FF34F11862731B65F4D7 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED5C0B5FD3B73C3015AC56C9E5FACA48 /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EDC72938DF5998BBBC017B2FE8B20768 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F3A5427CD0560096A6A82144B8B59C70 /* pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */; }; + F7D70C0E25A8123CCE6495EF0CF7FB85 /* POPSpringAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F80CE9A6A3DFE7A013E36693BEE14EAE /* POPGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F983A03430606378AE8DC27E4BF8436A /* POPPropertyAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9A3864238BEAF7F67E75EF7417D7AF4 /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA42222184104F516C9AF6AB85A48787 /* POPCGUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FDE2C76578028195B819883E6A76B5B2 /* MMCPSScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A74066159202FC8BA84394854A1116D /* MMCPSScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 282412CAFD4BFDEE527273F1 /* PBXContainerItemProxy */ = { + 21714EBF452DB85A216D38E2672E44B4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = B372419045A1236C95998EEE; - remoteInfo = "Pods-TabBarPicker_Tests-TabBarPicker"; + remoteGlobalIDString = F1D148434467C1B78F92DD483480D390; + remoteInfo = TabBarPicker; }; - 5D180C6FCAEFC8A7D7B19DAE /* PBXContainerItemProxy */ = { + 39095C2F0D844AC1B8E8E286164D6CDD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FC23CD680277CC5E4E4AA307; - remoteInfo = "Pods-TabBarPicker_Example-PureLayout"; + remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; + remoteInfo = pop; }; - 89441F7C7BC845BD23CD78E5 /* PBXContainerItemProxy */ = { + 83FF373FD2C1D0B14B1A0607CDF77E30 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FD042F8BAEE7119C1EA51707; - remoteInfo = "Pods-TabBarPicker_Example-TabBarPicker"; + remoteGlobalIDString = F1D148434467C1B78F92DD483480D390; + remoteInfo = TabBarPicker; }; - B9CF24999A87355CAC926702 /* PBXContainerItemProxy */ = { + 9C6221A93B45097747C1A14AAC94A539 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = AFD4CD498974811C4E61A02F; - remoteInfo = "Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker"; + remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; + remoteInfo = PureLayout; }; - CD59612697C04D7511FB3F72 /* PBXContainerItemProxy */ = { + A345134A6D386FDE4AF4A8F9E01EBD10 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = F1DAA46C7CBB0FB9B92A7891; - remoteInfo = "Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker"; + remoteGlobalIDString = 31D04736AA8F72A7EDD28D5A60339B0F; + remoteInfo = "UIView-Overlay"; }; - DDAD65E3EFB4F3D48C9B0924 /* PBXContainerItemProxy */ = { + CA4CD391A67ADA84167445460CB86CEE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = E7BEB02101A9A803932958CF; - remoteInfo = "Pods-pop"; + remoteGlobalIDString = A3EDD948F9BE0382C98E8FCC6F145936; + remoteInfo = "TabBarPicker-TabBarPicker"; }; - F11B9780C9014D2928C551BE /* PBXContainerItemProxy */ = { + CE8A779771949E83F912B98700B02CC3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 946D70F25BF137A0A4EEF96A; - remoteInfo = "Pods-TabBarPicker_Example-pop"; + remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; + remoteInfo = pop; }; - F50373A50FD095C9BEDADF57 /* PBXContainerItemProxy */ = { + DDC22788C49D6AA37AFF4B7A7175DCA8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 076EE4A4A31F3EF31885BF1B /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBEDBEADB5B021EC10373BA; - remoteInfo = "Pods-PureLayout"; + remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; + remoteInfo = PureLayout; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 01009B5E4B06C66FCF8F5BC9 /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 038E63B1DBCA0584644ED157 /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; - 045BE7162D2570928876F033 /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; - 05808DA121218718098DEFF0 /* Pods-TabBarPicker_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Example-acknowledgements.markdown"; sourceTree = ""; }; - 05DA842142A6BA196B3DABFB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0989F71569E92C4CBAFE1921 /* POPAnimatableProperty.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimatableProperty.mm; path = pop/POPAnimatableProperty.mm; sourceTree = ""; }; - 09F0618CA132ECDEBA57689E /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; - 0B5B5AC54CFEB05692AA815A /* Pods-TabBarPicker_Tests-TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-TabBarPicker_Tests-TabBarPicker-dummy.m"; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-dummy.m"; sourceTree = ""; }; - 0C7A734081DC40C0F31F673C /* POPBasicAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPBasicAnimation.mm; path = pop/POPBasicAnimation.mm; sourceTree = ""; }; - 0CF169FBEF3383F97806A666 /* POPSpringSolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringSolver.h; path = pop/POPSpringSolver.h; sourceTree = ""; }; - 0F05E63141E47B3D9C7A034C /* Pods-PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PureLayout-umbrella.h"; sourceTree = ""; }; - 107BA65FFCEB274307520F2C /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 1276CC727D252F3FBCC500D8 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; - 12EAF69700839FE7E59349C7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1312AE216DB90DE6BCCFEE9D /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; - 13660ECE3ACE682AFF3887AC /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; - 1601934E60C7E519C0FEDC56 /* POPAnimationExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationExtras.h; path = pop/POPAnimationExtras.h; sourceTree = ""; }; - 1BFB1C574D40FD98565713A7 /* POPLayerExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPLayerExtras.h; path = pop/POPLayerExtras.h; sourceTree = ""; }; - 1D391F023EF911E0E8CAADA5 /* POPDecayAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimationInternal.h; path = pop/POPDecayAnimationInternal.h; sourceTree = ""; }; - 1D4F8D303386AC44822AF565 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; - 1DEB1FE6315A9356874285B1 /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1E4EF796544765F03C26C5F6 /* Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig"; sourceTree = ""; }; - 1F726856037B0FAE7F190DEA /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; - 1FB5DB3EDCABFC87A5FD4829 /* Pods_TabBarPicker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 20EA84407EA26D4B048B6308 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../Pods-TabBarPicker_Example-PureLayout/Info.plist"; sourceTree = ""; }; - 220C2C21C3E8499F4FB6C89D /* POPAnimationExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationExtras.mm; path = pop/POPAnimationExtras.mm; sourceTree = ""; }; - 23CB6FF06056CE514FAF9F6F /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; - 248FBB7C7DFF12C26E977F54 /* POPAnimationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationPrivate.h; path = pop/POPAnimationPrivate.h; sourceTree = ""; }; - 2517E2997BA3081DB25379D7 /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25404601DBB854A03B6FB790 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 27A6708995E0133607B68C17 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 2A7C186830A35BB4C268F975 /* Pods-TabBarPicker_Example-pop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-pop-umbrella.h"; sourceTree = ""; }; - 3047742051845C84E58DFB86 /* POPVector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPVector.h; path = pop/POPVector.h; sourceTree = ""; }; - 30FE9B0A9B402BE3524A474A /* Pods-TabBarPicker_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-frameworks.sh"; sourceTree = ""; }; - 30FF365DD9D72B712A0B56B4 /* Pods-pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-pop-prefix.pch"; path = "../Pods-pop/Pods-pop-prefix.pch"; sourceTree = ""; }; - 31B4C28D9F388712584D7356 /* Pods-TabBarPicker_Example-PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TabBarPicker_Example-PureLayout.xcconfig"; path = "../Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.xcconfig"; sourceTree = ""; }; - 322F6F4AB63287ECAF0CA6CD /* POPAnimationTracer.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationTracer.mm; path = pop/POPAnimationTracer.mm; sourceTree = ""; }; - 3278943CA7BA250401368DCD /* Pods-TabBarPicker_Example-PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-TabBarPicker_Example-PureLayout-umbrella.h"; path = "../Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-umbrella.h"; sourceTree = ""; }; - 34DA203B3F1FCCFD1E8A50B7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Info.plist"; sourceTree = ""; }; - 35CF5A05C3B6069754E32983 /* POPSpringAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPSpringAnimation.mm; path = pop/POPSpringAnimation.mm; sourceTree = ""; }; - 361BBEEFA5B9AD92637B4A08 /* POPAnimationTracer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracer.h; path = pop/POPAnimationTracer.h; sourceTree = ""; }; - 367E13263A407D3DAE66894A /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; - 37560D3E260FFC992DC9625A /* Pods-TabBarPicker_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-resources.sh"; sourceTree = ""; }; - 3D540B19DB6BF9FDE6C8ACFA /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; - 3D69F71E8986A27161777FAE /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4291D5DE14FE83D5B6B9156E /* POPAnimationRuntime.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationRuntime.mm; path = pop/POPAnimationRuntime.mm; sourceTree = ""; }; - 45D8B817339DC323C26500BD /* TransformationMatrix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TransformationMatrix.h; path = pop/WebCore/TransformationMatrix.h; sourceTree = ""; }; - 481DCCBEAAE97AFD01526FA2 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; - 489D9E1E1C7A2D5F8BC9F84C /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; - 49DBB4DFA4326F5EC64B2D20 /* POPDecayAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPDecayAnimation.mm; path = pop/POPDecayAnimation.mm; sourceTree = ""; }; - 4A98D75D7D5CB3392E41BD69 /* Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig"; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig"; sourceTree = ""; }; - 4D356A9EEEA5DDCF8FF04FB7 /* POPCGUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCGUtils.h; path = pop/POPCGUtils.h; sourceTree = ""; }; - 4D55DA6FE1B680DC3EA9DF5A /* Pods-TabBarPicker_Example-TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example-TabBarPicker.xcconfig"; sourceTree = ""; }; - 50EF158D99CB9C6F1494769E /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; - 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 5387E920E4F000A0671512C5 /* Pods-TabBarPicker_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Tests.modulemap"; sourceTree = ""; }; - 5479DC06522B7F04045D9787 /* POPAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAction.h; path = pop/POPAction.h; sourceTree = ""; }; - 5525384DC7AE50A2B5E89645 /* Pods-TabBarPicker_Example-pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-pop-dummy.m"; sourceTree = ""; }; - 552AB480E386C5B46102AA6B /* POPAnimationRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationRuntime.h; path = pop/POPAnimationRuntime.h; sourceTree = ""; }; - 560983073AA7FC620BD006AD /* Pods-PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-PureLayout.modulemap"; sourceTree = ""; }; - 567CD36F67B9E3CCC7C4EAFD /* Pods-TabBarPicker_Example-TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-TabBarPicker-umbrella.h"; sourceTree = ""; }; - 569D1B4A028CD25E2D74537A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5BD7788176D503AB03C0E4B4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5C38118B267F78FF311DC60E /* POPMath.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPMath.mm; path = pop/POPMath.mm; sourceTree = ""; }; - 5D1607BD1F1F54335A2E124B /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; - 5D6FACCC4C372F429A47AA7D /* Pods-TabBarPicker_Tests-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-environment.h"; sourceTree = ""; }; - 6045D819BD15B744948ADE22 /* Pods-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-environment.h"; sourceTree = ""; }; - 60C58E758F5AB6A902FEE223 /* Pods-TabBarPicker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.debug.xcconfig"; sourceTree = ""; }; - 60CFC588A9F296D142625E9D /* POPAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimation.mm; path = pop/POPAnimation.mm; sourceTree = ""; }; - 62620BD82EA9934614182BC3 /* POPAnimationTracerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracerInternal.h; path = pop/POPAnimationTracerInternal.h; sourceTree = ""; }; - 66C7B75EB841D53F0EC483E0 /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; - 671119BD943A4653A352A441 /* POPDecayAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimation.h; path = pop/POPDecayAnimation.h; sourceTree = ""; }; - 68A9ADAF0B3E760DF5AD7E68 /* Pods-TabBarPicker_Tests-TabBarPicker.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; name = "Pods-TabBarPicker_Tests-TabBarPicker.modulemap"; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap"; sourceTree = ""; }; - 6B878F3E287CA59F38AF9260 /* Pods-TabBarPicker_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Example.modulemap"; sourceTree = ""; }; - 6D0486D2A6CC5159ED6C3FA5 /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; - 6D62F3FEBE7F8DDCE5094A7F /* pop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6D83D7CC82208B8F5DB6F9B2 /* POPVector.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPVector.mm; path = pop/POPVector.mm; sourceTree = ""; }; - 6DE98FB43FD8AF87558C949F /* Pods-PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PureLayout-dummy.m"; sourceTree = ""; }; - 6E4AC5D29211DE73190905B5 /* POPCGUtils.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCGUtils.mm; path = pop/POPCGUtils.mm; sourceTree = ""; }; - 6EBA369F80242B946F30EC93 /* Pods-TabBarPicker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Tests-dummy.m"; sourceTree = ""; }; - 6EBFE41004AD256533049528 /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; - 6FCFE30967DE61491182F4C5 /* UnitBezier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UnitBezier.h; path = pop/WebCore/UnitBezier.h; sourceTree = ""; }; - 723D192530472B7231549590 /* Pods-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-frameworks.sh"; sourceTree = ""; }; - 734113E1ABC52132867C8DC0 /* Pods-TabBarPicker_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-frameworks.sh"; sourceTree = ""; }; - 7671C709696939CF728CBF89 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; - 76F5D472F78835DF10642FED /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; - 7CC70F35B324689AC597A0FE /* Pods-TabBarPicker_Example-pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Example-pop.modulemap"; sourceTree = ""; }; - 7E2FD79B207076835239D081 /* Pods-TabBarPicker_Tests-TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TabBarPicker_Tests-TabBarPicker.xcconfig"; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.xcconfig"; sourceTree = ""; }; - 813339C86C19EA6B7D13FD9E /* Pods-TabBarPicker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-umbrella.h"; sourceTree = ""; }; - 83CB18A7F96034CA5A052598 /* POPAnimatableProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatableProperty.h; path = pop/POPAnimatableProperty.h; sourceTree = ""; }; - 83FCB1582EC513F7552DEA37 /* Pods-pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-pop.xcconfig"; path = "../Pods-pop/Pods-pop.xcconfig"; sourceTree = ""; }; - 84A53CAFAF6FC2AD97EB62D0 /* Pods-TabBarPicker_Example-PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TabBarPicker_Example-PureLayout-Private.xcconfig"; path = "../Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-Private.xcconfig"; sourceTree = ""; }; - 8A7CE41912D567ECB03A6D64 /* POPAnimatorPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatorPrivate.h; path = pop/POPAnimatorPrivate.h; sourceTree = ""; }; - 8B59B1AB19F58353D0AEF09E /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; - 8D5DD94D1DBD83E9361E2491 /* POPAnimator.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimator.mm; path = pop/POPAnimator.mm; sourceTree = ""; }; - 901108BC6D9A8F028EDAD8F2 /* POPBasicAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimationInternal.h; path = pop/POPBasicAnimationInternal.h; sourceTree = ""; }; - 907DC892E25945C8881BB67A /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 912D3B150DD89D0B80BACEFF /* POPSpringAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimation.h; path = pop/POPSpringAnimation.h; sourceTree = ""; }; - 919B771F0901CB17C6EB5B92 /* Pods-TabBarPicker_Example-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-environment.h"; sourceTree = ""; }; - 948796D629A2FE463CD40F14 /* TabBarItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarItem.h; sourceTree = ""; }; - 94B31BDE01F6DFC4A63DFF9A /* Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h"; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h"; sourceTree = ""; }; - 9675C333FBCB9438C37914F5 /* Pods-TabBarPicker_Example-PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-TabBarPicker_Example-PureLayout-prefix.pch"; path = "../Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch"; sourceTree = ""; }; - 9799C38880B19C8D8127D387 /* POPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDefines.h; path = pop/POPDefines.h; sourceTree = ""; }; - 99B3AFB3448E42354C7E3CA9 /* POPCustomAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCustomAnimation.mm; path = pop/POPCustomAnimation.mm; sourceTree = ""; }; - 9A0D56F1761B3E4D657F5E6B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../Pods-pop/Info.plist"; sourceTree = ""; }; - 9ADB896FC223429417305564 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9BEA3DCC64741E5370473F3D /* Pods-TabBarPicker_Example-pop-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example-pop-Private.xcconfig"; sourceTree = ""; }; - 9D990C568EF3E7D84C4FFD1C /* Pods-TabBarPicker_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Tests-acknowledgements.plist"; sourceTree = ""; }; - 9EA47F53E372DEAEB5FFD0A7 /* TransformationMatrix.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = TransformationMatrix.cpp; path = pop/WebCore/TransformationMatrix.cpp; sourceTree = ""; }; - 9FB0F09AB2968465489960B4 /* Pods-TabBarPicker_Example-pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-pop-prefix.pch"; sourceTree = ""; }; - A4F94EB380221710F30AFABC /* POP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POP.h; path = pop/POP.h; sourceTree = ""; }; - A51FE7687AB0793F310D2B9B /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; - A5C4CDE49F388B3C715DCCB9 /* Pods-TabBarPicker_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-resources.sh"; sourceTree = ""; }; - A6638CF52C1096B25DD08ADE /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A6D260D035A46BE8F2256490 /* Pods-TabBarPicker_Example-TabBarPicker.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Example-TabBarPicker.modulemap"; sourceTree = ""; }; - A7ECA2F74F793F76240F306D /* POPAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimator.h; path = pop/POPAnimator.h; sourceTree = ""; }; - A9A75BF9B5A218000B19C110 /* POPAnimationEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEvent.h; path = pop/POPAnimationEvent.h; sourceTree = ""; }; - AA26A92C09486DC977E4DAF7 /* Pods-pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-pop-dummy.m"; path = "../Pods-pop/Pods-pop-dummy.m"; sourceTree = ""; }; - AACDA0D53FD379145B87967F /* Pods-TabBarPicker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.release.xcconfig"; sourceTree = ""; }; - AB5CF71B60E10265E1E5C9C4 /* Pods-PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PureLayout-Private.xcconfig"; sourceTree = ""; }; - ACBB77468072336652F83798 /* Pods-TabBarPicker_Example-PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; name = "Pods-TabBarPicker_Example-PureLayout.modulemap"; path = "../Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap"; sourceTree = ""; }; - AE6A0AF92FE18545C3B68FBE /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B050493AA15E13E8B3E2623D /* Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch"; path = "../Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch"; sourceTree = ""; }; - B3719287A9AF0C8F9D5C15CD /* POPAnimationEventInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEventInternal.h; path = pop/POPAnimationEventInternal.h; sourceTree = ""; }; - B89E435A737C9F8B4147DB53 /* Pods-PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PureLayout.xcconfig"; sourceTree = ""; }; - B8B9D49500DD7A18D29BC0CD /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; - BCC550239DC303E4407ECDC2 /* POPAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationInternal.h; path = pop/POPAnimationInternal.h; sourceTree = ""; }; - BE8898601881A3FF69CB045A /* POPBasicAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimation.h; path = pop/POPBasicAnimation.h; sourceTree = ""; }; - C240B79453CA04C9D746A157 /* Pods-TabBarPicker_Example-PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Pods-TabBarPicker_Example-PureLayout-dummy.m"; path = "../Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-dummy.m"; sourceTree = ""; }; - C5236EEA3772FB0C5F62894A /* POPLayerExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPLayerExtras.mm; path = pop/POPLayerExtras.mm; sourceTree = ""; }; - C6A1ED918F18DBCB84B212DA /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; - C89755B7429BA8416726C976 /* FloatConversion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FloatConversion.h; path = pop/WebCore/FloatConversion.h; sourceTree = ""; }; - C97337B6B1C0C92F79B3C60B /* POPMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPMath.h; path = pop/POPMath.h; sourceTree = ""; }; - CB321577DDDDE89741F7271C /* POPPropertyAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPPropertyAnimation.mm; path = pop/POPPropertyAnimation.mm; sourceTree = ""; }; - CB727B79627320DFC1811EE6 /* POPGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPGeometry.h; path = pop/POPGeometry.h; sourceTree = ""; }; - CBF8EA93CEB1A79869EC3347 /* Pods-pop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Pods-pop-umbrella.h"; path = "../Pods-pop/Pods-pop-umbrella.h"; sourceTree = ""; }; - CC5C592E4B54F3B0012C323C /* POPPropertyAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimationInternal.h; path = pop/POPPropertyAnimationInternal.h; sourceTree = ""; }; - CCCD9A27B2E04FEA45C7E2F7 /* Pods-TabBarPicker_Example-TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-TabBarPicker-dummy.m"; sourceTree = ""; }; - D0E3D724A6EA5F0CB37B6CA8 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; - D2E46081016835D9384AF946 /* Pods-TabBarPicker_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Example-acknowledgements.plist"; sourceTree = ""; }; - D36AB950CB2EC789C50E2262 /* Pods-pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; name = "Pods-pop.modulemap"; path = "../Pods-pop/Pods-pop.modulemap"; sourceTree = ""; }; - D4310830DE68F6149262337B /* Pods-TabBarPicker_Example-TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-TabBarPicker-prefix.pch"; sourceTree = ""; }; - D8C2A10274C723A159433ED1 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; - DB75B471EDA1CA2DE9C33C0F /* POPSpringAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimationInternal.h; path = pop/POPSpringAnimationInternal.h; sourceTree = ""; }; - DF2C9745FAD90248C8A0E440 /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; - DF7EBCFBD69634580761F226 /* POPAnimationEvent.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationEvent.mm; path = pop/POPAnimationEvent.mm; sourceTree = ""; }; - E226A506D7BEE5F31C0E2CFA /* POPCustomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCustomAnimation.h; path = pop/POPCustomAnimation.h; sourceTree = ""; }; - E440264E752919182072967E /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; - E5C189006F28899D8591BFAE /* Pods.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Pods.modulemap; sourceTree = ""; }; - ED11DDCF7451052F5D7DB7FC /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - F1858A1FB16C4E1F1280C64A /* pop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F3F54E57B94A29511DCCCFC7 /* Pods-PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PureLayout-prefix.pch"; sourceTree = ""; }; - F5DC4E453F2301DC52DBA943 /* POPGeometry.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPGeometry.mm; path = pop/POPGeometry.mm; sourceTree = ""; }; - F9D1830163CD771BFB1625E2 /* Pods-pop-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-pop-Private.xcconfig"; path = "../Pods-pop/Pods-pop-Private.xcconfig"; sourceTree = ""; }; - FE22858FE7BBB304F6C486F0 /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; - FF2CB7956298E5BF13E305A8 /* Pods-TabBarPicker_Example-pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example-pop.xcconfig"; sourceTree = ""; }; + 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimationInternal.h; path = pop/POPDecayAnimationInternal.h; sourceTree = ""; }; + 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatableProperty.h; path = pop/POPAnimatableProperty.h; sourceTree = ""; }; + 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationEvent.mm; path = pop/POPAnimationEvent.mm; sourceTree = ""; }; + 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-frameworks.sh"; sourceTree = ""; }; + 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; + 09D0BE9B95DC0AB1A10C5C5CBF007372 /* pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = pop.modulemap; sourceTree = ""; }; + 0E0DF9726324591447BF3C7A6CC8F6FD /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; + 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; + 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; + 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; + 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEventInternal.h; path = pop/POPAnimationEventInternal.h; sourceTree = ""; }; + 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-umbrella.h"; sourceTree = ""; }; + 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPMath.mm; path = pop/POPMath.mm; sourceTree = ""; }; + 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimator.h; path = pop/POPAnimator.h; sourceTree = ""; }; + 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; + 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimation.mm; path = pop/POPAnimation.mm; sourceTree = ""; }; + 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimation.h; path = pop/POPBasicAnimation.h; sourceTree = ""; }; + 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; + 2E30818E45DD33C5E4BDFDEE442335F8 /* UIView-Overlay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-prefix.pch"; sourceTree = ""; }; + 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCustomAnimation.h; path = pop/POPCustomAnimation.h; sourceTree = ""; }; + 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCustomAnimation.mm; path = pop/POPCustomAnimation.mm; sourceTree = ""; }; + 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimationInternal.h; path = pop/POPPropertyAnimationInternal.h; sourceTree = ""; }; + 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; + 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracer.h; path = pop/POPAnimationTracer.h; sourceTree = ""; }; + 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatorPrivate.h; path = pop/POPAnimatorPrivate.h; sourceTree = ""; }; + 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-umbrella.h"; sourceTree = ""; }; + 4479B35E973BC64612AFE56A67C3A7E4 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = PureLayout.modulemap; sourceTree = ""; }; + 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationExtras.mm; path = pop/POPAnimationExtras.mm; sourceTree = ""; }; + 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TabBarPicker.xcconfig; sourceTree = ""; }; + 52CE09C3405F59D40C2BD3971985CF59 /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; + 5316CF84EF6CC8F29F5C8F65E47C6EE0 /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; + 5400657DC452384B43BD2099AC8BDC49 /* UIView-Overlay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIView-Overlay.modulemap"; sourceTree = ""; }; + 56CBBA1282670189371B75E1895ADFC7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 56E7469FDD8353F98B7D18192EC48657 /* UIView-Overlay.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay.xcconfig"; sourceTree = ""; }; + 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; + 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimationInternal.h; path = pop/POPBasicAnimationInternal.h; sourceTree = ""; }; + 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UnitBezier.h; path = pop/WebCore/UnitBezier.h; sourceTree = ""; }; + 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.debug.xcconfig"; sourceTree = ""; }; + 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationInternal.h; path = pop/POPAnimationInternal.h; sourceTree = ""; }; + 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPGeometry.h; path = pop/POPGeometry.h; sourceTree = ""; }; + 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Example-acknowledgements.markdown"; sourceTree = ""; }; + 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPLayerExtras.h; path = pop/POPLayerExtras.h; sourceTree = ""; }; + 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; + 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; + 6A74066159202FC8BA84394854A1116D /* MMCPSScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMCPSScrollView.h; sourceTree = ""; }; + 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; + 73CE6B07292175B9D39CBFFC0DB41A60 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEvent.h; path = pop/POPAnimationEvent.h; sourceTree = ""; }; + 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; + 74ED984E73B0A43CE00E8EF6E51000BC /* TabBarItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarItem.h; sourceTree = ""; }; + 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPPropertyAnimation.mm; path = pop/POPPropertyAnimation.mm; sourceTree = ""; }; + 76E4E222A31EB57B3FAE7BD127882279 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; + 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationRuntime.mm; path = pop/POPAnimationRuntime.mm; sourceTree = ""; }; + 79ED7F11B8B30282685F622BDF426547 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7DE7A9BEF575A7AF5C663E711314C1F6 /* MMCPSScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMCPSScrollView.m; sourceTree = ""; }; + 7EC4CA78903DD6994C05A85DCF5F68DA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 845F67AAF14F34F0F944FCABA8A1C95F /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; + 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; + 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-umbrella.h"; sourceTree = ""; }; + 87FF45FA0B37BD605BC79D61F412B4DE /* NSString+HexColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+HexColor.h"; sourceTree = ""; }; + 8A39F245747851F74126D6C816A9EF2A /* TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-umbrella.h"; sourceTree = ""; }; + 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAction.h; path = pop/POPAction.h; sourceTree = ""; }; + 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimatableProperty.mm; path = pop/POPAnimatableProperty.mm; sourceTree = ""; }; + 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "TabBarPicker-Private.xcconfig"; sourceTree = ""; }; + 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; + 8F188C3F24D664F9CEA0905C2C40C0F2 /* NSString+HexColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+HexColor.m"; sourceTree = ""; }; + 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimation.h; path = pop/POPDecayAnimation.h; sourceTree = ""; }; + 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; + 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPSpringAnimation.mm; path = pop/POPSpringAnimation.mm; sourceTree = ""; }; + 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPVector.h; path = pop/POPVector.h; sourceTree = ""; }; + 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView-Overlay-dummy.m"; sourceTree = ""; }; + 989E7B3B998C2F701E914FC9BCEA3C4E /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; + 9A142C2387752EB8F0CBA87864EC1D9F /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; + 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimator.mm; path = pop/POPAnimator.mm; sourceTree = ""; }; + 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; + 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-prefix.pch"; sourceTree = ""; }; + 9FF196DA16906822D150C60295CBB88E /* TabBarPicker.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = TabBarPicker.modulemap; sourceTree = ""; }; + A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIView_Overlay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimation.h; path = pop/POPSpringAnimation.h; sourceTree = ""; }; + A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPDecayAnimation.mm; path = pop/POPDecayAnimation.mm; sourceTree = ""; }; + A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; + A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.release.xcconfig"; sourceTree = ""; }; + A56413DB484A0F29380EE43337DA9DA8 /* Pods-TabBarPicker_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Example.modulemap"; sourceTree = ""; }; + A5DFF9EFCD54000B6153CA3F5DE69BC4 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-umbrella.h"; sourceTree = ""; }; + A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationTracer.mm; path = pop/POPAnimationTracer.mm; sourceTree = ""; }; + AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-resources.sh"; sourceTree = ""; }; + AFFA73876E348EE6186525790CF479F1 /* TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TabBarPicker-dummy.m"; sourceTree = ""; }; + B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Example-acknowledgements.plist"; sourceTree = ""; }; + B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Pods.modulemap; sourceTree = ""; }; + B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Tests-dummy.m"; sourceTree = ""; }; + B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPBasicAnimation.mm; path = pop/POPBasicAnimation.mm; sourceTree = ""; }; + B5CD98140029134DB60055E9C181F4CE /* pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-prefix.pch"; sourceTree = ""; }; + B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; + B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCGUtils.h; path = pop/POPCGUtils.h; sourceTree = ""; }; + B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Overlay.h"; sourceTree = ""; }; + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BB49801C2A1FC4A6C872E30D1EBDF2D3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BCCE418ABC02DF7186BCDA0CE8F42A6E /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; + C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimationInternal.h; path = pop/POPSpringAnimationInternal.h; sourceTree = ""; }; + C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; + C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay-Private.xcconfig"; sourceTree = ""; }; + C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TransformationMatrix.h; path = pop/WebCore/TransformationMatrix.h; sourceTree = ""; }; + C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationExtras.h; path = pop/POPAnimationExtras.h; sourceTree = ""; }; + C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-resources.sh"; sourceTree = ""; }; + C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPGeometry.mm; path = pop/POPGeometry.mm; sourceTree = ""; }; + CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Overlay.m"; sourceTree = ""; }; + CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringSolver.h; path = pop/POPSpringSolver.h; sourceTree = ""; }; + CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; + CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Tests-acknowledgements.plist"; sourceTree = ""; }; + D29115C7B51D59AB9CFBBF927D069DAB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "pop-Private.xcconfig"; sourceTree = ""; }; + D2FCC54601ECBB62AE9A36A0D8BE3507 /* Pods-TabBarPicker_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-frameworks.sh"; sourceTree = ""; }; + D3EBC2CFBEB2CB443D3A093015AFD4D6 /* pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = pop.xcconfig; sourceTree = ""; }; + D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-frameworks.sh"; sourceTree = ""; }; + D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + D59AE80D8F830B2B594F27731251395F /* POPMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPMath.h; path = pop/POPMath.h; sourceTree = ""; }; + DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPLayerExtras.mm; path = pop/POPLayerExtras.mm; sourceTree = ""; }; + DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; + DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracerInternal.h; path = pop/POPAnimationTracerInternal.h; sourceTree = ""; }; + DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PureLayout-Private.xcconfig"; sourceTree = ""; }; + DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Tests.modulemap"; sourceTree = ""; }; + DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = TransformationMatrix.cpp; path = pop/WebCore/TransformationMatrix.cpp; sourceTree = ""; }; + E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FloatConversion.h; path = pop/WebCore/FloatConversion.h; sourceTree = ""; }; + E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "pop-dummy.m"; sourceTree = ""; }; + EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDefines.h; path = pop/POPDefines.h; sourceTree = ""; }; + ECA1326C4D14AEBFBFBBD48CA93B60C2 /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POP.h; path = pop/POP.h; sourceTree = ""; }; + EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationPrivate.h; path = pop/POPAnimationPrivate.h; sourceTree = ""; }; + F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPVector.mm; path = pop/POPVector.mm; sourceTree = ""; }; + F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCGUtils.mm; path = pop/POPCGUtils.mm; sourceTree = ""; }; + F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; + F7CFC725DB20421AA2759A672603A491 /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; + FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationRuntime.h; path = pop/POPAnimationRuntime.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 138CB71E24ED4D6D5AA99DAF /* Frameworks */ = { + 49A164E6EC1A044A459D0E7CD8DA59C1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EDA217CEFF48CCC0FB81B195 /* Foundation.framework in Frameworks */, + AE6D434ED9230B1D615A2DD259CB6038 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3E843314885B1266A29E29EB /* Frameworks */ = { + 8D982826564F33040944F955F4866DBD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 7C6672FF5BC14E5A632F38FBCF4D84F6 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9B02C87F42AF1C91A4A2F9339784DF7C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 29B97DBB30EE19D048BEC6E25E9F9F14 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AC9EEAC58C6D20FD5C0254472F5D6ABD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 95540F361B7B0ADA359C7E7FDD208D1D /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AFD7844FFD6D5B623CA366A6697D1817 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 4C841AF14442F100A6BAFA27 /* Frameworks */ = { + C55B4A380649C260F933655453406C98 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D9978BCEEBCDE0A1F8B1CE46 /* Foundation.framework in Frameworks */, + A7A6A047CA9F0ADFA09FA3F58E8DA1E3 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5A7466DCD5286E5E58B7488C /* Frameworks */ = { + E317655F4C92290FC793E268EDF9B38E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 734FE62A4C80C836913CF34D /* Foundation.framework in Frameworks */, + AEB41D63ACB6BAF7B6DA8EAB5DBFDFEF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 77561746EB5D98FF5B0091AE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2B9E63D0B263EA5EB7A744EB /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97FCCE92F0883FB799F250C7 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2E7F4A880041D1679751ECEC /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B19917B7F59D9C1263854C28 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E580A2C158B568366F141E6C /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B32D9766FAB34CEB0B8F04F3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D4E3665CF764F95752770A3A /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C8EEF8012CE922EAE438DE5C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6DF4E0E24E3256BF574462D0 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DDEE97931C018FDDEA985AF8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F3BE4B197450A75A892F6C9E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F83FDBDB1453EC0D84A060E6 /* Frameworks */ = { + E73B0FCD0C69CDDDB4AE456D3E12BD2B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 108E0EDA81BB5E6B0343D317882BE687 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 05FC04885F2767630969C262 /* Development Pods */ = { + 00D522049767F38F11BB149EE4EB63C9 /* Support Files */ = { isa = PBXGroup; children = ( - 1887143410C2F849B0D61358 /* TabBarPicker */, + 73CE6B07292175B9D39CBFFC0DB41A60 /* Info.plist */, + 9FF196DA16906822D150C60295CBB88E /* TabBarPicker.modulemap */, + 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */, + 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */, + AFFA73876E348EE6186525790CF479F1 /* TabBarPicker-dummy.m */, + 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */, + 8A39F245747851F74126D6C816A9EF2A /* TabBarPicker-umbrella.h */, ); - name = "Development Pods"; + name = "Support Files"; + path = "Example/Pods/Target Support Files/TabBarPicker"; sourceTree = ""; }; - 06EB63B29ABB908508A41F72 /* iOS */ = { + 053B4D0E654296CC9889A04F89A345BD /* Vendor */ = { isa = PBXGroup; children = ( - 5318CCF0E05CEED642F4EBA1 /* Foundation.framework */, + 977370A91AC8B677022217B6F7096E4E /* MMCPSScrollView */, + FFBEFBD8E8214E18E4714B2658CAC8CB /* NSString+HexColor */, + ); + path = Vendor; + sourceTree = ""; + }; + 0CC341720DA3391596A41DBFC029A2AA /* Pods */ = { + isa = PBXGroup; + children = ( + A2C47666731599FCB6D3E3CC764B23F3 /* PureLayout */, + 2A58384A3F8835553BCF09B629677A4A /* UIView-Overlay */, + B2799B31D52CA8B0CAFDDDFD216755A3 /* pop */, + ); + name = Pods; + sourceTree = ""; + }; + 122807F302738AE4899F7D3C75280210 /* Support Files */ = { + isa = PBXGroup; + children = ( + 7EC4CA78903DD6994C05A85DCF5F68DA /* Info.plist */, + 09D0BE9B95DC0AB1A10C5C5CBF007372 /* pop.modulemap */, + D3EBC2CFBEB2CB443D3A093015AFD4D6 /* pop.xcconfig */, + D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */, + E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */, + B5CD98140029134DB60055E9C181F4CE /* pop-prefix.pch */, + 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/pop"; + sourceTree = ""; + }; + 25D183D5D94938DF2CA9CB42E5B7EB3A /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + DB7A392AE20A92DE460668D10ACDC19F /* Pods */, + 681B22ACA7F4FA8C65D80B162920ED45 /* Pods-TabBarPicker_Example */, + BCF417F30A01D14929B24BCF9E2958DB /* Pods-TabBarPicker_Tests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + 2A58384A3F8835553BCF09B629677A4A /* UIView-Overlay */ = { + isa = PBXGroup; + children = ( + B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */, + CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */, + 367B0AEA5A5B892E97114FB4088CA6CA /* Support Files */, + ); + path = "UIView-Overlay"; + sourceTree = ""; + }; + 367B0AEA5A5B892E97114FB4088CA6CA /* Support Files */ = { + isa = PBXGroup; + children = ( + BB49801C2A1FC4A6C872E30D1EBDF2D3 /* Info.plist */, + 5400657DC452384B43BD2099AC8BDC49 /* UIView-Overlay.modulemap */, + 56E7469FDD8353F98B7D18192EC48657 /* UIView-Overlay.xcconfig */, + C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */, + 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */, + 2E30818E45DD33C5E4BDFDEE442335F8 /* UIView-Overlay-prefix.pch */, + A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/UIView-Overlay"; + sourceTree = ""; + }; + 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */ = { + isa = PBXGroup; + children = ( + D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */, ); name = iOS; sourceTree = ""; }; - 1887143410C2F849B0D61358 /* TabBarPicker */ = { + 681B22ACA7F4FA8C65D80B162920ED45 /* Pods-TabBarPicker_Example */ = { isa = PBXGroup; children = ( - 3FA0FA9B75CE5162AF776F61 /* Pod */, - 4C3FEB4559335AF590BED821 /* Support Files */, - ); - name = TabBarPicker; - path = ../..; - sourceTree = ""; - }; - 2A54C52C234EB32115E22D1B /* pop */ = { - isa = PBXGroup; - children = ( - C89755B7429BA8416726C976 /* FloatConversion.h */, - A4F94EB380221710F30AFABC /* POP.h */, - 5479DC06522B7F04045D9787 /* POPAction.h */, - 83CB18A7F96034CA5A052598 /* POPAnimatableProperty.h */, - 0989F71569E92C4CBAFE1921 /* POPAnimatableProperty.mm */, - 7671C709696939CF728CBF89 /* POPAnimation.h */, - 60CFC588A9F296D142625E9D /* POPAnimation.mm */, - A9A75BF9B5A218000B19C110 /* POPAnimationEvent.h */, - DF7EBCFBD69634580761F226 /* POPAnimationEvent.mm */, - B3719287A9AF0C8F9D5C15CD /* POPAnimationEventInternal.h */, - 1601934E60C7E519C0FEDC56 /* POPAnimationExtras.h */, - 220C2C21C3E8499F4FB6C89D /* POPAnimationExtras.mm */, - BCC550239DC303E4407ECDC2 /* POPAnimationInternal.h */, - 248FBB7C7DFF12C26E977F54 /* POPAnimationPrivate.h */, - 552AB480E386C5B46102AA6B /* POPAnimationRuntime.h */, - 4291D5DE14FE83D5B6B9156E /* POPAnimationRuntime.mm */, - 361BBEEFA5B9AD92637B4A08 /* POPAnimationTracer.h */, - 322F6F4AB63287ECAF0CA6CD /* POPAnimationTracer.mm */, - 62620BD82EA9934614182BC3 /* POPAnimationTracerInternal.h */, - A7ECA2F74F793F76240F306D /* POPAnimator.h */, - 8D5DD94D1DBD83E9361E2491 /* POPAnimator.mm */, - 8A7CE41912D567ECB03A6D64 /* POPAnimatorPrivate.h */, - BE8898601881A3FF69CB045A /* POPBasicAnimation.h */, - 0C7A734081DC40C0F31F673C /* POPBasicAnimation.mm */, - 901108BC6D9A8F028EDAD8F2 /* POPBasicAnimationInternal.h */, - 4D356A9EEEA5DDCF8FF04FB7 /* POPCGUtils.h */, - 6E4AC5D29211DE73190905B5 /* POPCGUtils.mm */, - E226A506D7BEE5F31C0E2CFA /* POPCustomAnimation.h */, - 99B3AFB3448E42354C7E3CA9 /* POPCustomAnimation.mm */, - 671119BD943A4653A352A441 /* POPDecayAnimation.h */, - 49DBB4DFA4326F5EC64B2D20 /* POPDecayAnimation.mm */, - 1D391F023EF911E0E8CAADA5 /* POPDecayAnimationInternal.h */, - 9799C38880B19C8D8127D387 /* POPDefines.h */, - CB727B79627320DFC1811EE6 /* POPGeometry.h */, - F5DC4E453F2301DC52DBA943 /* POPGeometry.mm */, - 1BFB1C574D40FD98565713A7 /* POPLayerExtras.h */, - C5236EEA3772FB0C5F62894A /* POPLayerExtras.mm */, - C97337B6B1C0C92F79B3C60B /* POPMath.h */, - 5C38118B267F78FF311DC60E /* POPMath.mm */, - 50EF158D99CB9C6F1494769E /* POPPropertyAnimation.h */, - CB321577DDDDE89741F7271C /* POPPropertyAnimation.mm */, - CC5C592E4B54F3B0012C323C /* POPPropertyAnimationInternal.h */, - 912D3B150DD89D0B80BACEFF /* POPSpringAnimation.h */, - 35CF5A05C3B6069754E32983 /* POPSpringAnimation.mm */, - DB75B471EDA1CA2DE9C33C0F /* POPSpringAnimationInternal.h */, - 0CF169FBEF3383F97806A666 /* POPSpringSolver.h */, - 3047742051845C84E58DFB86 /* POPVector.h */, - 6D83D7CC82208B8F5DB6F9B2 /* POPVector.mm */, - 9EA47F53E372DEAEB5FFD0A7 /* TransformationMatrix.cpp */, - 45D8B817339DC323C26500BD /* TransformationMatrix.h */, - 6FCFE30967DE61491182F4C5 /* UnitBezier.h */, - E187BE117D03D466577504EA /* Support Files */, - ); - path = pop; - sourceTree = ""; - }; - 2DB505C34EA18DD7844C2D4E /* Pods */ = { - isa = PBXGroup; - children = ( - CD06F38E1139A758BF6C3692 /* PureLayout */, - 2A54C52C234EB32115E22D1B /* pop */, - ); - name = Pods; - sourceTree = ""; - }; - 3A526DEF7F5DF6568C49F74C /* Pods */ = { - isa = PBXGroup; - children = ( - 5BD7788176D503AB03C0E4B4 /* Info.plist */, - E5C189006F28899D8591BFAE /* Pods.modulemap */, - 367E13263A407D3DAE66894A /* Pods-acknowledgements.markdown */, - FE22858FE7BBB304F6C486F0 /* Pods-acknowledgements.plist */, - D8C2A10274C723A159433ED1 /* Pods-dummy.m */, - 6045D819BD15B744948ADE22 /* Pods-environment.h */, - 723D192530472B7231549590 /* Pods-frameworks.sh */, - 23CB6FF06056CE514FAF9F6F /* Pods-resources.sh */, - 3D540B19DB6BF9FDE6C8ACFA /* Pods-umbrella.h */, - E440264E752919182072967E /* Pods.debug.xcconfig */, - 09F0618CA132ECDEBA57689E /* Pods.release.xcconfig */, - ); - name = Pods; - path = "Target Support Files/Pods"; - sourceTree = ""; - }; - 3FA0FA9B75CE5162AF776F61 /* Pod */ = { - isa = PBXGroup; - children = ( - 4E0DA1B3F943CB5DD84434E2 /* Classes */, - ); - path = Pod; - sourceTree = ""; - }; - 4C3FEB4559335AF590BED821 /* Support Files */ = { - isa = PBXGroup; - children = ( - 9ADB896FC223429417305564 /* Info.plist */, - 34DA203B3F1FCCFD1E8A50B7 /* Info.plist */, - A6D260D035A46BE8F2256490 /* Pods-TabBarPicker_Example-TabBarPicker.modulemap */, - 4D55DA6FE1B680DC3EA9DF5A /* Pods-TabBarPicker_Example-TabBarPicker.xcconfig */, - 1E4EF796544765F03C26C5F6 /* Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig */, - CCCD9A27B2E04FEA45C7E2F7 /* Pods-TabBarPicker_Example-TabBarPicker-dummy.m */, - D4310830DE68F6149262337B /* Pods-TabBarPicker_Example-TabBarPicker-prefix.pch */, - 567CD36F67B9E3CCC7C4EAFD /* Pods-TabBarPicker_Example-TabBarPicker-umbrella.h */, - 68A9ADAF0B3E760DF5AD7E68 /* Pods-TabBarPicker_Tests-TabBarPicker.modulemap */, - 7E2FD79B207076835239D081 /* Pods-TabBarPicker_Tests-TabBarPicker.xcconfig */, - 4A98D75D7D5CB3392E41BD69 /* Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig */, - 0B5B5AC54CFEB05692AA815A /* Pods-TabBarPicker_Tests-TabBarPicker-dummy.m */, - B050493AA15E13E8B3E2623D /* Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch */, - 94B31BDE01F6DFC4A63DFF9A /* Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h */, - ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker"; - sourceTree = ""; - }; - 4E0DA1B3F943CB5DD84434E2 /* Classes */ = { - isa = PBXGroup; - children = ( - 6EBFE41004AD256533049528 /* TabBarPicker.h */, - 66C7B75EB841D53F0EC483E0 /* TabBarPicker.m */, - 948796D629A2FE463CD40F14 /* TabBarItem.h */, - 6D0486D2A6CC5159ED6C3FA5 /* TabBarItem.m */, - 038E63B1DBCA0584644ED157 /* TabBarPickerSubItemsView.h */, - 13660ECE3ACE682AFF3887AC /* TabBarPickerSubItemsView.m */, - 489D9E1E1C7A2D5F8BC9F84C /* TabBarSubItem.h */, - 1312AE216DB90DE6BCCFEE9D /* TabBarSubItem.m */, - ); - path = Classes; - sourceTree = ""; - }; - 799D0121FCCD82A8187ABDC9 /* Pods-TabBarPicker_Example */ = { - isa = PBXGroup; - children = ( - 569D1B4A028CD25E2D74537A /* Info.plist */, - 6B878F3E287CA59F38AF9260 /* Pods-TabBarPicker_Example.modulemap */, - 05808DA121218718098DEFF0 /* Pods-TabBarPicker_Example-acknowledgements.markdown */, - D2E46081016835D9384AF946 /* Pods-TabBarPicker_Example-acknowledgements.plist */, - DF2C9745FAD90248C8A0E440 /* Pods-TabBarPicker_Example-dummy.m */, - 919B771F0901CB17C6EB5B92 /* Pods-TabBarPicker_Example-environment.h */, - 734113E1ABC52132867C8DC0 /* Pods-TabBarPicker_Example-frameworks.sh */, - A5C4CDE49F388B3C715DCCB9 /* Pods-TabBarPicker_Example-resources.sh */, - 1F726856037B0FAE7F190DEA /* Pods-TabBarPicker_Example-umbrella.h */, - 5D1607BD1F1F54335A2E124B /* Pods-TabBarPicker_Example.debug.xcconfig */, - D0E3D724A6EA5F0CB37B6CA8 /* Pods-TabBarPicker_Example.release.xcconfig */, + 79ED7F11B8B30282685F622BDF426547 /* Info.plist */, + A56413DB484A0F29380EE43337DA9DA8 /* Pods-TabBarPicker_Example.modulemap */, + 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */, + B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */, + F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */, + D2FCC54601ECBB62AE9A36A0D8BE3507 /* Pods-TabBarPicker_Example-frameworks.sh */, + C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */, + CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */, + 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */, + B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */, ); name = "Pods-TabBarPicker_Example"; path = "Target Support Files/Pods-TabBarPicker_Example"; sourceTree = ""; }; - 87405192924B69F7F83B086D /* Frameworks */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - 06EB63B29ABB908508A41F72 /* iOS */, + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, + AFB4C340B813C5291DA6514C9847932B /* Development Pods */, + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, + 0CC341720DA3391596A41DBFC029A2AA /* Pods */, + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, + 25D183D5D94938DF2CA9CB42E5B7EB3A /* Targets Support Files */, + ); + sourceTree = ""; + }; + 7F35927A828371685E9A0F8F706AFB47 /* Classes */ = { + isa = PBXGroup; + children = ( + 74ED984E73B0A43CE00E8EF6E51000BC /* TabBarItem.h */, + 989E7B3B998C2F701E914FC9BCEA3C4E /* TabBarItem.m */, + 52CE09C3405F59D40C2BD3971985CF59 /* TabBarPicker.h */, + 5316CF84EF6CC8F29F5C8F65E47C6EE0 /* TabBarPicker.m */, + F7CFC725DB20421AA2759A672603A491 /* TabBarPickerSubItemsView.h */, + BCCE418ABC02DF7186BCDA0CE8F42A6E /* TabBarPickerSubItemsView.m */, + 9A142C2387752EB8F0CBA87864EC1D9F /* TabBarSubItem.h */, + 0E0DF9726324591447BF3C7A6CC8F6FD /* TabBarSubItem.m */, + 053B4D0E654296CC9889A04F89A345BD /* Vendor */, + ); + path = Classes; + sourceTree = ""; + }; + 8E3BA7AF84CB1FD13CBE41AD45E2F68D /* Support Files */ = { + isa = PBXGroup; + children = ( + 56CBBA1282670189371B75E1895ADFC7 /* Info.plist */, + 4479B35E973BC64612AFE56A67C3A7E4 /* PureLayout.modulemap */, + 845F67AAF14F34F0F944FCABA8A1C95F /* PureLayout.xcconfig */, + DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */, + 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */, + 76E4E222A31EB57B3FAE7BD127882279 /* PureLayout-prefix.pch */, + 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/PureLayout"; + sourceTree = ""; + }; + 977370A91AC8B677022217B6F7096E4E /* MMCPSScrollView */ = { + isa = PBXGroup; + children = ( + 6A74066159202FC8BA84394854A1116D /* MMCPSScrollView.h */, + 7DE7A9BEF575A7AF5C663E711314C1F6 /* MMCPSScrollView.m */, + ); + path = MMCPSScrollView; + sourceTree = ""; + }; + A2C47666731599FCB6D3E3CC764B23F3 /* PureLayout */ = { + isa = PBXGroup; + children = ( + 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */, + 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */, + 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */, + C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */, + 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */, + 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */, + 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */, + DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */, + 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */, + 8E3BA7AF84CB1FD13CBE41AD45E2F68D /* Support Files */, + ); + path = PureLayout; + sourceTree = ""; + }; + A342E6BAF3DBF5CC8764C5D2DFC3C713 /* TabBarPicker */ = { + isa = PBXGroup; + children = ( + F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */, + 00D522049767F38F11BB149EE4EB63C9 /* Support Files */, + ); + name = TabBarPicker; + path = ../..; + sourceTree = ""; + }; + AFB4C340B813C5291DA6514C9847932B /* Development Pods */ = { + isa = PBXGroup; + children = ( + A342E6BAF3DBF5CC8764C5D2DFC3C713 /* TabBarPicker */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + B2799B31D52CA8B0CAFDDDFD216755A3 /* pop */ = { + isa = PBXGroup; + children = ( + E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */, + EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */, + 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */, + 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */, + 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */, + 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */, + 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */, + 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */, + 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */, + 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */, + C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */, + 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */, + 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */, + EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */, + FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */, + 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */, + 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */, + A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */, + DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */, + 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */, + 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */, + 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */, + 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */, + B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */, + 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */, + B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */, + F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */, + 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */, + 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */, + 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */, + A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */, + 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */, + EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */, + 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */, + C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */, + 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */, + DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */, + D59AE80D8F830B2B594F27731251395F /* POPMath.h */, + 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */, + 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */, + 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */, + 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */, + A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */, + 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */, + C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */, + CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */, + 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */, + F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */, + DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */, + C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */, + 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */, + 122807F302738AE4899F7D3C75280210 /* Support Files */, + ); + path = pop; + sourceTree = ""; + }; + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { + isa = PBXGroup; + children = ( + 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */, ); name = Frameworks; sourceTree = ""; }; - 9843F33B6EB3F30F26D3273A /* Pods-TabBarPicker_Tests */ = { + BCF417F30A01D14929B24BCF9E2958DB /* Pods-TabBarPicker_Tests */ = { isa = PBXGroup; children = ( - 25404601DBB854A03B6FB790 /* Info.plist */, - 5387E920E4F000A0671512C5 /* Pods-TabBarPicker_Tests.modulemap */, - 27A6708995E0133607B68C17 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */, - 9D990C568EF3E7D84C4FFD1C /* Pods-TabBarPicker_Tests-acknowledgements.plist */, - 6EBA369F80242B946F30EC93 /* Pods-TabBarPicker_Tests-dummy.m */, - 5D6FACCC4C372F429A47AA7D /* Pods-TabBarPicker_Tests-environment.h */, - 30FE9B0A9B402BE3524A474A /* Pods-TabBarPicker_Tests-frameworks.sh */, - 37560D3E260FFC992DC9625A /* Pods-TabBarPicker_Tests-resources.sh */, - 813339C86C19EA6B7D13FD9E /* Pods-TabBarPicker_Tests-umbrella.h */, - 60C58E758F5AB6A902FEE223 /* Pods-TabBarPicker_Tests.debug.xcconfig */, - AACDA0D53FD379145B87967F /* Pods-TabBarPicker_Tests.release.xcconfig */, + 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */, + DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */, + 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */, + CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */, + B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */, + D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */, + AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */, + 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */, + 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */, + A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */, ); name = "Pods-TabBarPicker_Tests"; path = "Target Support Files/Pods-TabBarPicker_Tests"; sourceTree = ""; }; - CD06F38E1139A758BF6C3692 /* PureLayout */ = { + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { isa = PBXGroup; children = ( - 1276CC727D252F3FBCC500D8 /* ALView+PureLayout.h */, - 045BE7162D2570928876F033 /* ALView+PureLayout.m */, - 481DCCBEAAE97AFD01526FA2 /* NSArray+PureLayout.h */, - B8B9D49500DD7A18D29BC0CD /* NSArray+PureLayout.m */, - 1D4F8D303386AC44822AF565 /* NSLayoutConstraint+PureLayout.h */, - A51FE7687AB0793F310D2B9B /* NSLayoutConstraint+PureLayout.m */, - 8B59B1AB19F58353D0AEF09E /* PureLayout.h */, - C6A1ED918F18DBCB84B212DA /* PureLayout+Internal.h */, - 76F5D472F78835DF10642FED /* PureLayoutDefines.h */, - D0543F00C2235FE15AC799B3 /* Support Files */, - ); - path = PureLayout; - sourceTree = ""; - }; - D0543F00C2235FE15AC799B3 /* Support Files */ = { - isa = PBXGroup; - children = ( - 12EAF69700839FE7E59349C7 /* Info.plist */, - 20EA84407EA26D4B048B6308 /* Info.plist */, - 560983073AA7FC620BD006AD /* Pods-PureLayout.modulemap */, - B89E435A737C9F8B4147DB53 /* Pods-PureLayout.xcconfig */, - AB5CF71B60E10265E1E5C9C4 /* Pods-PureLayout-Private.xcconfig */, - 6DE98FB43FD8AF87558C949F /* Pods-PureLayout-dummy.m */, - F3F54E57B94A29511DCCCFC7 /* Pods-PureLayout-prefix.pch */, - 0F05E63141E47B3D9C7A034C /* Pods-PureLayout-umbrella.h */, - ACBB77468072336652F83798 /* Pods-TabBarPicker_Example-PureLayout.modulemap */, - 31B4C28D9F388712584D7356 /* Pods-TabBarPicker_Example-PureLayout.xcconfig */, - 84A53CAFAF6FC2AD97EB62D0 /* Pods-TabBarPicker_Example-PureLayout-Private.xcconfig */, - C240B79453CA04C9D746A157 /* Pods-TabBarPicker_Example-PureLayout-dummy.m */, - 9675C333FBCB9438C37914F5 /* Pods-TabBarPicker_Example-PureLayout-prefix.pch */, - 3278943CA7BA250401368DCD /* Pods-TabBarPicker_Example-PureLayout-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/Pods-PureLayout"; - sourceTree = ""; - }; - E187BE117D03D466577504EA /* Support Files */ = { - isa = PBXGroup; - children = ( - 05DA842142A6BA196B3DABFB /* Info.plist */, - 9A0D56F1761B3E4D657F5E6B /* Info.plist */, - 7CC70F35B324689AC597A0FE /* Pods-TabBarPicker_Example-pop.modulemap */, - FF2CB7956298E5BF13E305A8 /* Pods-TabBarPicker_Example-pop.xcconfig */, - 9BEA3DCC64741E5370473F3D /* Pods-TabBarPicker_Example-pop-Private.xcconfig */, - 5525384DC7AE50A2B5E89645 /* Pods-TabBarPicker_Example-pop-dummy.m */, - 9FB0F09AB2968465489960B4 /* Pods-TabBarPicker_Example-pop-prefix.pch */, - 2A7C186830A35BB4C268F975 /* Pods-TabBarPicker_Example-pop-umbrella.h */, - D36AB950CB2EC789C50E2262 /* Pods-pop.modulemap */, - 83FCB1582EC513F7552DEA37 /* Pods-pop.xcconfig */, - F9D1830163CD771BFB1625E2 /* Pods-pop-Private.xcconfig */, - AA26A92C09486DC977E4DAF7 /* Pods-pop-dummy.m */, - 30FF365DD9D72B712A0B56B4 /* Pods-pop-prefix.pch */, - CBF8EA93CEB1A79869EC3347 /* Pods-pop-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/Pods-TabBarPicker_Example-pop"; - sourceTree = ""; - }; - E7ADC43A225C7637537E9B37 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 3A526DEF7F5DF6568C49F74C /* Pods */, - 799D0121FCCD82A8187ABDC9 /* Pods-TabBarPicker_Example */, - 9843F33B6EB3F30F26D3273A /* Pods-TabBarPicker_Tests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - F5652DF99F847077B4F992C7 = { - isa = PBXGroup; - children = ( - 107BA65FFCEB274307520F2C /* Podfile */, - 05FC04885F2767630969C262 /* Development Pods */, - 87405192924B69F7F83B086D /* Frameworks */, - 2DB505C34EA18DD7844C2D4E /* Pods */, - F59935DA88004FB1BC0312A2 /* Products */, - E7ADC43A225C7637537E9B37 /* Targets Support Files */, - ); - sourceTree = ""; - }; - F59935DA88004FB1BC0312A2 /* Products */ = { - isa = PBXGroup; - children = ( - 3D69F71E8986A27161777FAE /* Pods.framework */, - 1DEB1FE6315A9356874285B1 /* Pods_TabBarPicker_Example.framework */, - 1FB5DB3EDCABFC87A5FD4829 /* Pods_TabBarPicker_Tests.framework */, - A6638CF52C1096B25DD08ADE /* PureLayout.framework */, - 2517E2997BA3081DB25379D7 /* PureLayout.framework */, - 907DC892E25945C8881BB67A /* TabBarPicker.bundle */, - ED11DDCF7451052F5D7DB7FC /* TabBarPicker.bundle */, - 01009B5E4B06C66FCF8F5BC9 /* TabBarPicker.framework */, - AE6A0AF92FE18545C3B68FBE /* TabBarPicker.framework */, - 6D62F3FEBE7F8DDCE5094A7F /* pop.framework */, - F1858A1FB16C4E1F1280C64A /* pop.framework */, + A5DFF9EFCD54000B6153CA3F5DE69BC4 /* Pods.framework */, + 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */, + 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */, + 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */, + 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */, + ECA1326C4D14AEBFBFBBD48CA93B60C2 /* TabBarPicker.framework */, + A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */, + 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */, ); name = Products; sourceTree = ""; }; + DB7A392AE20A92DE460668D10ACDC19F /* Pods */ = { + isa = PBXGroup; + children = ( + D29115C7B51D59AB9CFBBF927D069DAB /* Info.plist */, + B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */, + A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */, + 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */, + 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */, + 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */, + 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */, + 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */, + 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */, + 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */, + ); + name = Pods; + path = "Target Support Files/Pods"; + sourceTree = ""; + }; + F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */ = { + isa = PBXGroup; + children = ( + 7F35927A828371685E9A0F8F706AFB47 /* Classes */, + ); + path = Pod; + sourceTree = ""; + }; + FFBEFBD8E8214E18E4714B2658CAC8CB /* NSString+HexColor */ = { + isa = PBXGroup; + children = ( + 87FF45FA0B37BD605BC79D61F412B4DE /* NSString+HexColor.h */, + 8F188C3F24D664F9CEA0905C2C40C0F2 /* NSString+HexColor.m */, + ); + path = "NSString+HexColor"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 1C600D0E94090FAF4FF18FE9 /* Headers */ = { + 02B67A76CB09FB21493A0D4C8E7EBE41 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5FC120A542C16A10BC63BE97 /* Pods-TabBarPicker_Example-umbrella.h in Headers */, + FDE2C76578028195B819883E6A76B5B2 /* MMCPSScrollView.h in Headers */, + A1F2D95F436714051CFE1601C09ACAE9 /* NSString+HexColor.h in Headers */, + 3FC1CA95A408FA5E1A57AC93B0C8A988 /* TabBarItem.h in Headers */, + DF28F428A637429E12D16D55801D4916 /* TabBarPicker-umbrella.h in Headers */, + C83D6A4F894219C63C6ED47E108D3EB3 /* TabBarPicker.h in Headers */, + 7391D8870EF96C08872561E1821F1085 /* TabBarPickerSubItemsView.h in Headers */, + 860781420B1293C292A4A3D52E9F50F0 /* TabBarSubItem.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36E06769FE3CCD3A8EFE228F /* Headers */ = { + 7E48A959C6852B35F3EB10C01C5C0188 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0A21560A1589020F1ADF7538 /* FloatConversion.h in Headers */, - 9D00D00D0E4D0C883429B32D /* POP.h in Headers */, - 6DED92D38E9CAA6952AF5608 /* POPAction.h in Headers */, - 209A8423AD1FDC253035CB31 /* POPAnimatableProperty.h in Headers */, - 117498583BC6DB0334A28D40 /* POPAnimation.h in Headers */, - 7B30AFAE62B59FD2C63F5AC2 /* POPAnimationEvent.h in Headers */, - 76939EFE9DE303F6833BEDAF /* POPAnimationEventInternal.h in Headers */, - 5B586BB61B5E9B928EB90EAB /* POPAnimationExtras.h in Headers */, - 6418C1B27B86A5BE0EE11B87 /* POPAnimationInternal.h in Headers */, - 2844095F9390BDD7700091A2 /* POPAnimationPrivate.h in Headers */, - 098901416FF5313A32689A9F /* POPAnimationRuntime.h in Headers */, - 75F66501334553B157607CBC /* POPAnimationTracer.h in Headers */, - 1C01B2F40E2C216B21EAFC1B /* POPAnimationTracerInternal.h in Headers */, - A2C4DE5C00CD102A55502296 /* POPAnimator.h in Headers */, - BA2B5A50486F8D860160FF8D /* POPAnimatorPrivate.h in Headers */, - 829719688B88D39C0D27CF4D /* POPBasicAnimation.h in Headers */, - 56A01D53215DD2C38A1DF3C0 /* POPBasicAnimationInternal.h in Headers */, - 6EAD877044B73A9D5854B5B7 /* POPCGUtils.h in Headers */, - 017751B00A19E088774A9A36 /* POPCustomAnimation.h in Headers */, - 7131945C73D4C0FD8D714B22 /* POPDecayAnimation.h in Headers */, - 586007BAA0A6603293988140 /* POPDecayAnimationInternal.h in Headers */, - 32C9D8217BCCDE3DCD65E544 /* POPDefines.h in Headers */, - 11E4EE40700313091CF3754C /* POPGeometry.h in Headers */, - 0BAD9CCE021D6E4C47E0FD1B /* POPLayerExtras.h in Headers */, - 2DD68C910B9C3A1CBE965A8B /* POPMath.h in Headers */, - A30B63A996DFE2CDD154B849 /* POPPropertyAnimation.h in Headers */, - E63BEBB6A141C936C5C5F3B5 /* POPPropertyAnimationInternal.h in Headers */, - FAE811900D8E0F0C12A1D3AF /* POPSpringAnimation.h in Headers */, - 765BC6E753BAEA1F1756446E /* POPSpringAnimationInternal.h in Headers */, - 13D596AC60910E6041FB5E7F /* POPSpringSolver.h in Headers */, - CEC3AB8B3CE2AED183131A8B /* POPVector.h in Headers */, - 914CACE912D10B0A5724D42E /* Pods-pop-umbrella.h in Headers */, - E07ED9E7484699902358B0E7 /* TransformationMatrix.h in Headers */, - EAE7334BBA7BBFAAF64A9D89 /* UnitBezier.h in Headers */, + 11C5B9474617E9D2DB312798E38A2DC9 /* Pods-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 48437699994D65B8BB4495F2 /* Headers */ = { + 9BE284D5E5171BB0CA0D43D14FAF010D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 20A6BFDC9770DECA3F784147 /* FloatConversion.h in Headers */, - 564F9D0578414AD4B735E081 /* POP.h in Headers */, - 6CBFBDBDE1CBBD4BA906861A /* POPAction.h in Headers */, - 818BCA168FADCC7FF5FEB0C5 /* POPAnimatableProperty.h in Headers */, - 5D52FDF3FBAD15100F8B2DA2 /* POPAnimation.h in Headers */, - 056E6B5B25D44CB683046ED1 /* POPAnimationEvent.h in Headers */, - 91920145BDDDB740D379EA27 /* POPAnimationEventInternal.h in Headers */, - 4B24E249027F39B5C229D67B /* POPAnimationExtras.h in Headers */, - E657806B6768EEFFC8A571D3 /* POPAnimationInternal.h in Headers */, - 0E4DF8DF77CF83ECC1E2BE39 /* POPAnimationPrivate.h in Headers */, - 78CAA47D939E5228BA39C2D1 /* POPAnimationRuntime.h in Headers */, - 336110892E9B9A9F7667AE30 /* POPAnimationTracer.h in Headers */, - F248AB1E93524A2D3ED0C289 /* POPAnimationTracerInternal.h in Headers */, - 729044F6A7DAA40AD4808B1D /* POPAnimator.h in Headers */, - BED095B79B8E8AE2B1AA0800 /* POPAnimatorPrivate.h in Headers */, - F66556FD93CE50E7249F4701 /* POPBasicAnimation.h in Headers */, - 4B8F6804497295478FE16F30 /* POPBasicAnimationInternal.h in Headers */, - 6418584882588F555B146223 /* POPCGUtils.h in Headers */, - 341730B4E008176F2048D789 /* POPCustomAnimation.h in Headers */, - F56B4A1F3B914105221550B0 /* POPDecayAnimation.h in Headers */, - 860CD73816723824CCEC4AB9 /* POPDecayAnimationInternal.h in Headers */, - E3E31B877B4D0417DA52DF48 /* POPDefines.h in Headers */, - 4EEF05B7B49486A963343387 /* POPGeometry.h in Headers */, - 1F237B0FA9BAC33DF04D8AF0 /* POPLayerExtras.h in Headers */, - 7EEFA58925CF1F0E54B25872 /* POPMath.h in Headers */, - A8EFE3C037D1713B394F1D8C /* POPPropertyAnimation.h in Headers */, - D2702E4DABF3C4F7C7A10EB2 /* POPPropertyAnimationInternal.h in Headers */, - 9A0F3721074793034229A008 /* POPSpringAnimation.h in Headers */, - E7BDD4BACA7AAED76F62BF5C /* POPSpringAnimationInternal.h in Headers */, - C2F706C6DD01D7F230E16886 /* POPSpringSolver.h in Headers */, - A43DBB66A802E26808F11C56 /* POPVector.h in Headers */, - 6EA89B183674A2ACDECB04E0 /* Pods-TabBarPicker_Example-pop-umbrella.h in Headers */, - 42A09D79DFE7231826C7F0FB /* TransformationMatrix.h in Headers */, - 2FCB6F04A738E00FF30FC790 /* UnitBezier.h in Headers */, + 060E7DD819F53729654E36495DF47426 /* FloatConversion.h in Headers */, + 8E2CDC7269B59EAC84AEA46D5E28B826 /* POP.h in Headers */, + 7D895EB8CC992C0E734A1AC7E73F7D41 /* POPAction.h in Headers */, + 15EBB865A82DF72209B0E02819463060 /* POPAnimatableProperty.h in Headers */, + 3C2F3F5F1497E202882DF7598F703088 /* POPAnimation.h in Headers */, + 870316C705D226E9990777155D6AC4EC /* POPAnimationEvent.h in Headers */, + 384CE5874312610CF1414126D6E41435 /* POPAnimationEventInternal.h in Headers */, + B4DBAE098AA6F80CDCDFB1BFB6F6A7AE /* POPAnimationExtras.h in Headers */, + 7C632502864E8AE6F403AE489B593056 /* POPAnimationInternal.h in Headers */, + 242F2CEE058E9AFB0886BC75D30F5897 /* POPAnimationPrivate.h in Headers */, + 203E916178B206E4760E275D94B537FA /* POPAnimationRuntime.h in Headers */, + D905A57ED65F1E5DFD546AA26BBA6632 /* POPAnimationTracer.h in Headers */, + 60616CBC5FED53D41E314BD96036FCA0 /* POPAnimationTracerInternal.h in Headers */, + B2E46B8E61B80795CD4E94081F3A51C2 /* POPAnimator.h in Headers */, + 242683D9189D01DB10D327BD4807ADF2 /* POPAnimatorPrivate.h in Headers */, + 0BFE7C394E8150EF5FD76D3675116D48 /* POPBasicAnimation.h in Headers */, + 7687E83DA7BAC649B3BFB96A702B8EF7 /* POPBasicAnimationInternal.h in Headers */, + 73F5A493933876566BFE1C7557D058E0 /* POPCGUtils.h in Headers */, + EDC72938DF5998BBBC017B2FE8B20768 /* POPCustomAnimation.h in Headers */, + 758F4837B21699E995B3DA7873BE5AB9 /* POPDecayAnimation.h in Headers */, + 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */, + 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */, + F80CE9A6A3DFE7A013E36693BEE14EAE /* POPGeometry.h in Headers */, + 93F5920F69AC785B428577FC0BE0882B /* POPLayerExtras.h in Headers */, + E01D81DAECC949E0D350DEF8A8DEF9DA /* POPMath.h in Headers */, + E0C2B1971770264E2BC030EBFA522C67 /* POPPropertyAnimation.h in Headers */, + F983A03430606378AE8DC27E4BF8436A /* POPPropertyAnimationInternal.h in Headers */, + 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */, + F7D70C0E25A8123CCE6495EF0CF7FB85 /* POPSpringAnimationInternal.h in Headers */, + 728A5FCB02E1760C95DEA5ED83A2C1C5 /* POPSpringSolver.h in Headers */, + 03208AEB6A03CCA0C77A5DA3A79BD522 /* POPVector.h in Headers */, + ED5C0B5FD3B73C3015AC56C9E5FACA48 /* TransformationMatrix.h in Headers */, + 15EEB9A75A38BB0F7C3B2448A705AD83 /* UnitBezier.h in Headers */, + 0F7B5941BC1A4A320845B9B863551176 /* pop-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 58104C98D8F7298DA1DE43A4 /* Headers */ = { + C00D79ECDAC73A0C38552A990C82F56F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F790A3E6317AEAA88686D517 /* Pods-umbrella.h in Headers */, + 4EBD0FC5A72489379615C5E2E3A9C03D /* Pods-TabBarPicker_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AB5A94FDF95DBBB15E0F3D1E /* Headers */ = { + D6A8EB0B19838A8E6F05524B3A33BF15 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9F4718A0FB51BAB3CBFFA2FA /* ALView+PureLayout.h in Headers */, - 24C775D0AD925E654FF48F87 /* NSArray+PureLayout.h in Headers */, - 839659DD52AFD750CDDF3482 /* NSLayoutConstraint+PureLayout.h in Headers */, - 9F5C73D80B8E8BD21FEC99E5 /* Pods-TabBarPicker_Example-PureLayout-umbrella.h in Headers */, - EF5B9467B575CE7ACCC9FD56 /* PureLayout+Internal.h in Headers */, - 1FDA3E66D6FE684C5C01781E /* PureLayout.h in Headers */, - 04DFEC15EEFF9343248C0DAB /* PureLayoutDefines.h in Headers */, + C07804D5CAE775845193B0BDEAE8153A /* ALView+PureLayout.h in Headers */, + 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */, + E822E9813D45FF34F11862731B65F4D7 /* NSLayoutConstraint+PureLayout.h in Headers */, + 38792B4D4276C59B21ACF9B4DE6ED4F5 /* PureLayout+Internal.h in Headers */, + 8FB29797E35802BE65A888432368F471 /* PureLayout-umbrella.h in Headers */, + 98DE61629DE81688A6D460FF03DD172A /* PureLayout.h in Headers */, + F9A3864238BEAF7F67E75EF7417D7AF4 /* PureLayoutDefines.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C39147924972AC2344C6964E /* Headers */ = { + F0288DFFBF6F8630F80825C0012E9422 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - AFCDBF34A953115B8C93AC99 /* ALView+PureLayout.h in Headers */, - 081902C0DB6F767D5CFCFDE2 /* NSArray+PureLayout.h in Headers */, - A31C88636BAC55E8F4B13702 /* NSLayoutConstraint+PureLayout.h in Headers */, - 8F0FDEFCCF9CF58A25569966 /* Pods-PureLayout-umbrella.h in Headers */, - 47BF1D4CDBC8D9D8CF6D85BC /* PureLayout+Internal.h in Headers */, - 8A6172E965D8507E20F55032 /* PureLayout.h in Headers */, - CDDA0B7F64F04BC2E6C39FCB /* PureLayoutDefines.h in Headers */, + 3515851F45C9BB3FFDDD122095FF7797 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D86638842F58EE0BFA3DCAC4 /* Headers */ = { + F10C3CB6E24B23445DE9711A8BC29AE6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 715F0E1D29D7145FA2C69E34 /* Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h in Headers */, - EE6BD65ACA10F926E7B4F9B3 /* TabBarItem.h in Headers */, - D05F604195A3A025E43D406C /* TabBarPicker.h in Headers */, - B84FEED9BB89D3450AFEB7D4 /* TabBarPickerSubItemsView.h in Headers */, - 77B2793ECEE9C9710A36614F /* TabBarSubItem.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E1049E30AFAB9132D220E0A2 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 128BF7250491FE69CCE651A6 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EE6251CF07E3A71D15ED86F4 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E828BA57421F1C546A9C4CE5 /* Pods-TabBarPicker_Example-TabBarPicker-umbrella.h in Headers */, - D0ACC06A05D07915BDBD1168 /* TabBarItem.h in Headers */, - 08182F13A05154CD65AE4605 /* TabBarPicker.h in Headers */, - A8B66F5282DD2E48E2074653 /* TabBarPickerSubItemsView.h in Headers */, - 2E3A6031BF5D6579C2A39CE8 /* TabBarSubItem.h in Headers */, + 0EAB569A3E1579E852A97E70B2A52B19 /* UIView+Overlay.h in Headers */, + A30219FCF9EC37ABE44DC610005C2595 /* UIView-Overlay-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 1CBEDBEADB5B021EC10373BA /* Pods-PureLayout */ = { + 02B85A901C978E0651A76D08AD317C82 /* Pods-TabBarPicker_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = AD119FA560FF9B68953A2DAF /* Build configuration list for PBXNativeTarget "Pods-PureLayout" */; + buildConfigurationList = 2B10C739C4CC85FE1BE4140241D8548B /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */; buildPhases = ( - 47CE28D3E867DEFAEFF66632 /* Sources */, - DDEE97931C018FDDEA985AF8 /* Frameworks */, - C39147924972AC2344C6964E /* Headers */, + C174BA4E26F85DF204DC43D6E023477E /* Sources */, + AC9EEAC58C6D20FD5C0254472F5D6ABD /* Frameworks */, + C00D79ECDAC73A0C38552A990C82F56F /* Headers */, ); buildRules = ( ); dependencies = ( - ); - name = "Pods-PureLayout"; - productName = "Pods-PureLayout"; - productReference = A6638CF52C1096B25DD08ADE /* PureLayout.framework */; - productType = "com.apple.product-type.framework"; - }; - 3AEF904C7445DAC56D8DDD36 /* Pods-TabBarPicker_Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F13BA7CA271A219970E0A95 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */; - buildPhases = ( - BAA7061CE85EB0A28C1FE1D2 /* Sources */, - 97FCCE92F0883FB799F250C7 /* Frameworks */, - 1C600D0E94090FAF4FF18FE9 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - C9A546224915EE82C7979DA5 /* PBXTargetDependency */, - 85A636B6A2A55E1620380EE6 /* PBXTargetDependency */, - 4395602BAFE524BA6AB05072 /* PBXTargetDependency */, + 263F085CC5D8A00D39FC39FF4FDE846B /* PBXTargetDependency */, + 556AFBD628162756239A7A3C81EAF400 /* PBXTargetDependency */, + BC58D711EAA1035DD7B4043385568300 /* PBXTargetDependency */, + D20626EC1B98DD9FB0F4E57895207498 /* PBXTargetDependency */, ); name = "Pods-TabBarPicker_Example"; productName = "Pods-TabBarPicker_Example"; - productReference = 1DEB1FE6315A9356874285B1 /* Pods_TabBarPicker_Example.framework */; + productReference = 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */; productType = "com.apple.product-type.framework"; }; - 647957A40DEA66884BFDAF3C /* Pods-TabBarPicker_Tests */ = { + 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */ = { isa = PBXNativeTarget; - buildConfigurationList = BFC56E3D2FCBD7DE3847A156 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */; + buildConfigurationList = 24BE35686B3092A5E39AB603AB9548D8 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */; buildPhases = ( - C8707821A0B81206E670BD33 /* Sources */, - B32D9766FAB34CEB0B8F04F3 /* Frameworks */, - E1049E30AFAB9132D220E0A2 /* Headers */, + 2716DFA2350F3F9597E22BC02135F4DA /* Sources */, + 9B02C87F42AF1C91A4A2F9339784DF7C /* Frameworks */, + F10C3CB6E24B23445DE9711A8BC29AE6 /* Headers */, ); buildRules = ( ); dependencies = ( - FE57A8C85A3AA5BEA074B60B /* PBXTargetDependency */, + ); + name = "UIView-Overlay"; + productName = "UIView-Overlay"; + productReference = A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */; + productType = "com.apple.product-type.framework"; + }; + 32560F18B1ECECAEDFCE9D7F91247BDF /* Pods-TabBarPicker_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 630E7CF328E5A22E649CE1101654AE09 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */; + buildPhases = ( + 0BF447AF96530267F6597C658445F48A /* Sources */, + C55B4A380649C260F933655453406C98 /* Frameworks */, + F0288DFFBF6F8630F80825C0012E9422 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + D353DC8A1B3A57D87730ABC8C5045347 /* PBXTargetDependency */, ); name = "Pods-TabBarPicker_Tests"; productName = "Pods-TabBarPicker_Tests"; - productReference = 1FB5DB3EDCABFC87A5FD4829 /* Pods_TabBarPicker_Tests.framework */; + productReference = 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */; productType = "com.apple.product-type.framework"; }; - 946D70F25BF137A0A4EEF96A /* Pods-TabBarPicker_Example-pop */ = { + 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */ = { isa = PBXNativeTarget; - buildConfigurationList = 7CFCB7BEFBE193A8102C2189 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-pop" */; + buildConfigurationList = 46ECFA57CB15AE0591893FA284A902AA /* Build configuration list for PBXNativeTarget "pop" */; buildPhases = ( - C093F599C463F8714A68816F /* Sources */, - B19917B7F59D9C1263854C28 /* Frameworks */, - 48437699994D65B8BB4495F2 /* Headers */, + 37FAC6BEBB39C393B15E857FE76D4914 /* Sources */, + E317655F4C92290FC793E268EDF9B38E /* Frameworks */, + 9BE284D5E5171BB0CA0D43D14FAF010D /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = "Pods-TabBarPicker_Example-pop"; - productName = "Pods-TabBarPicker_Example-pop"; - productReference = F1858A1FB16C4E1F1280C64A /* pop.framework */; + name = pop; + productName = pop; + productReference = 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */; productType = "com.apple.product-type.framework"; }; - AFD4CD498974811C4E61A02F /* Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker */ = { + 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */ = { isa = PBXNativeTarget; - buildConfigurationList = 2E81D7E5E734DF610F612014 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker" */; + buildConfigurationList = 29946541803109559D5B69F86E5F2398 /* Build configuration list for PBXNativeTarget "PureLayout" */; buildPhases = ( - 5982FAD384BCD5FDAE6EBEC5 /* Sources */, - 3E843314885B1266A29E29EB /* Frameworks */, - 5FEAACA56AD246CCCBFFFECE /* Resources */, + F81A6CC9F7C1459BB6E1B159EB93EB03 /* Sources */, + 8D982826564F33040944F955F4866DBD /* Frameworks */, + D6A8EB0B19838A8E6F05524B3A33BF15 /* Headers */, ); buildRules = ( ); dependencies = ( ); - name = "Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker"; - productName = "Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker"; - productReference = 907DC892E25945C8881BB67A /* TabBarPicker.bundle */; + name = PureLayout; + productName = PureLayout; + productReference = 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */; + productType = "com.apple.product-type.framework"; + }; + A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3966147425507300FEC05A226BE2920D /* Build configuration list for PBXNativeTarget "TabBarPicker-TabBarPicker" */; + buildPhases = ( + 4DBEC0C05151203AA53BFE2A2B3389D4 /* Sources */, + AFD7844FFD6D5B623CA366A6697D1817 /* Frameworks */, + BAE690F24B9F8B27A81D68DD3BE79823 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "TabBarPicker-TabBarPicker"; + productName = "TabBarPicker-TabBarPicker"; + productReference = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; productType = "com.apple.product-type.bundle"; }; - B372419045A1236C95998EEE /* Pods-TabBarPicker_Tests-TabBarPicker */ = { + F1D148434467C1B78F92DD483480D390 /* TabBarPicker */ = { isa = PBXNativeTarget; - buildConfigurationList = E45E56871FE5E5AF4E0CCB81 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests-TabBarPicker" */; + buildConfigurationList = E2A3F482B92B850797D51004F0CAA8E1 /* Build configuration list for PBXNativeTarget "TabBarPicker" */; buildPhases = ( - A9F24A57E11F1D32024AD56A /* Sources */, - 77561746EB5D98FF5B0091AE /* Frameworks */, - 49DB05BDE0F0F92B6C57F394 /* Resources */, - D86638842F58EE0BFA3DCAC4 /* Headers */, + 78872F90B87B97BA37967B24DDA2A728 /* Sources */, + 49A164E6EC1A044A459D0E7CD8DA59C1 /* Frameworks */, + 8A64F6AD39E28FECB63367033055C3DB /* Resources */, + 02B67A76CB09FB21493A0D4C8E7EBE41 /* Headers */, ); buildRules = ( ); dependencies = ( - 3B7F89412D09367341565683 /* PBXTargetDependency */, + 7A50392FF78A36CA0C15F6A53BA3169D /* PBXTargetDependency */, ); - name = "Pods-TabBarPicker_Tests-TabBarPicker"; - productName = "Pods-TabBarPicker_Tests-TabBarPicker"; - productReference = AE6A0AF92FE18545C3B68FBE /* TabBarPicker.framework */; + name = TabBarPicker; + productName = TabBarPicker; + productReference = ECA1326C4D14AEBFBFBBD48CA93B60C2 /* TabBarPicker.framework */; productType = "com.apple.product-type.framework"; }; - E7BEB02101A9A803932958CF /* Pods-pop */ = { + FFB59F3179C8BDA9D0F4229CBA2D227B /* Pods */ = { isa = PBXNativeTarget; - buildConfigurationList = 95B7C77AF45F2728B35ECE53 /* Build configuration list for PBXNativeTarget "Pods-pop" */; + buildConfigurationList = B406DCC2604A6093F81FC863CD22CF3F /* Build configuration list for PBXNativeTarget "Pods" */; buildPhases = ( - 295BF4B47C191A5B8F044D61 /* Sources */, - 4C841AF14442F100A6BAFA27 /* Frameworks */, - 36E06769FE3CCD3A8EFE228F /* Headers */, + 58AF9A0D8F1459FE0E44084A67CBCB78 /* Sources */, + E73B0FCD0C69CDDDB4AE456D3E12BD2B /* Frameworks */, + 7E48A959C6852B35F3EB10C01C5C0188 /* Headers */, ); buildRules = ( ); dependencies = ( - ); - name = "Pods-pop"; - productName = "Pods-pop"; - productReference = 6D62F3FEBE7F8DDCE5094A7F /* pop.framework */; - productType = "com.apple.product-type.framework"; - }; - F1DAA46C7CBB0FB9B92A7891 /* Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker */ = { - isa = PBXNativeTarget; - buildConfigurationList = 66490470A83331F4635B40C4 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker" */; - buildPhases = ( - DD9100DF8C90E8A1014E0000 /* Sources */, - F83FDBDB1453EC0D84A060E6 /* Frameworks */, - BD8EECFEC2FA02208D7A9080 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker"; - productName = "Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker"; - productReference = ED11DDCF7451052F5D7DB7FC /* TabBarPicker.bundle */; - productType = "com.apple.product-type.bundle"; - }; - F2443084802FA36535532B8F /* Pods */ = { - isa = PBXNativeTarget; - buildConfigurationList = C0224D9F8A2C58FB5B2EE663 /* Build configuration list for PBXNativeTarget "Pods" */; - buildPhases = ( - B37D333662717EFDF834E9F1 /* Sources */, - 5A7466DCD5286E5E58B7488C /* Frameworks */, - 58104C98D8F7298DA1DE43A4 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - DED5EBCDDE8EADF676357660 /* PBXTargetDependency */, - 353BDA05728CE323769A5F76 /* PBXTargetDependency */, + 9B78FF26A80DD918CE5742D80BB2C8F1 /* PBXTargetDependency */, + 53E7C4F4F479EFEBB2A85A246A5ECCC0 /* PBXTargetDependency */, ); name = Pods; productName = Pods; - productReference = 3D69F71E8986A27161777FAE /* Pods.framework */; - productType = "com.apple.product-type.framework"; - }; - FC23CD680277CC5E4E4AA307 /* Pods-TabBarPicker_Example-PureLayout */ = { - isa = PBXNativeTarget; - buildConfigurationList = 72E23B35092CA4CB55196D36 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-PureLayout" */; - buildPhases = ( - 889CBF110125EF225C56E0C9 /* Sources */, - 138CB71E24ED4D6D5AA99DAF /* Frameworks */, - AB5A94FDF95DBBB15E0F3D1E /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-TabBarPicker_Example-PureLayout"; - productName = "Pods-TabBarPicker_Example-PureLayout"; - productReference = 2517E2997BA3081DB25379D7 /* PureLayout.framework */; - productType = "com.apple.product-type.framework"; - }; - FD042F8BAEE7119C1EA51707 /* Pods-TabBarPicker_Example-TabBarPicker */ = { - isa = PBXNativeTarget; - buildConfigurationList = E2B13172A761D25ED51B03B3 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-TabBarPicker" */; - buildPhases = ( - A1463F09B12761DF0C073B9B /* Sources */, - C8EEF8012CE922EAE438DE5C /* Frameworks */, - 99163806256845E8774CA7FC /* Resources */, - EE6251CF07E3A71D15ED86F4 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 8FC6CE486696715411967780 /* PBXTargetDependency */, - ); - name = "Pods-TabBarPicker_Example-TabBarPicker"; - productName = "Pods-TabBarPicker_Example-TabBarPicker"; - productReference = 01009B5E4B06C66FCF8F5BC9 /* TabBarPicker.framework */; + productReference = A5DFF9EFCD54000B6153CA3F5DE69BC4 /* Pods.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 076EE4A4A31F3EF31885BF1B /* Project object */ = { + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0640; + LastSwiftUpdateCheck = 0700; + LastUpgradeCheck = 0700; }; - buildConfigurationList = 0A5C9962CC6E2CDAE9F5A244 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = F5652DF99F847077B4F992C7; - productRefGroup = F59935DA88004FB1BC0312A2 /* Products */; + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - F2443084802FA36535532B8F /* Pods */, - 1CBEDBEADB5B021EC10373BA /* Pods-PureLayout */, - 3AEF904C7445DAC56D8DDD36 /* Pods-TabBarPicker_Example */, - FC23CD680277CC5E4E4AA307 /* Pods-TabBarPicker_Example-PureLayout */, - FD042F8BAEE7119C1EA51707 /* Pods-TabBarPicker_Example-TabBarPicker */, - F1DAA46C7CBB0FB9B92A7891 /* Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker */, - 946D70F25BF137A0A4EEF96A /* Pods-TabBarPicker_Example-pop */, - 647957A40DEA66884BFDAF3C /* Pods-TabBarPicker_Tests */, - B372419045A1236C95998EEE /* Pods-TabBarPicker_Tests-TabBarPicker */, - AFD4CD498974811C4E61A02F /* Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker */, - E7BEB02101A9A803932958CF /* Pods-pop */, + FFB59F3179C8BDA9D0F4229CBA2D227B /* Pods */, + 02B85A901C978E0651A76D08AD317C82 /* Pods-TabBarPicker_Example */, + 32560F18B1ECECAEDFCE9D7F91247BDF /* Pods-TabBarPicker_Tests */, + 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */, + F1D148434467C1B78F92DD483480D390 /* TabBarPicker */, + A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */, + 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */, + 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 49DB05BDE0F0F92B6C57F394 /* Resources */ = { + 8A64F6AD39E28FECB63367033055C3DB /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - D7D25AE64019B20D9ADE26EF /* TabBarPicker.bundle in Resources */, + 93B87741D4207E22B2E5DDB582C68829 /* TabBarPicker.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5FEAACA56AD246CCCBFFFECE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 99163806256845E8774CA7FC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 51E8D4F3F72F912B81C1DB9B /* TabBarPicker.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BD8EECFEC2FA02208D7A9080 /* Resources */ = { + BAE690F24B9F8B27A81D68DD3BE79823 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1217,460 +1013,154 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 295BF4B47C191A5B8F044D61 /* Sources */ = { + 0BF447AF96530267F6597C658445F48A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6228DBC163C4507004F353F4 /* POPAnimatableProperty.mm in Sources */, - 144119FD75791DEAD799F080 /* POPAnimation.mm in Sources */, - 55C68813CBBF2AF8A18AACD6 /* POPAnimationEvent.mm in Sources */, - 93E4648EBA095B2F61D0FF3D /* POPAnimationExtras.mm in Sources */, - 5108695DCD420DB9B9336924 /* POPAnimationRuntime.mm in Sources */, - 312CF9C31CF6352828C90148 /* POPAnimationTracer.mm in Sources */, - 6B7B6BB7B019AEA8BB22F119 /* POPAnimator.mm in Sources */, - 906F8380F7845060716E328C /* POPBasicAnimation.mm in Sources */, - 06F936D1FD0CACBAB8D42186 /* POPCGUtils.mm in Sources */, - 7C0277E4F69FFAD8E6881B2D /* POPCustomAnimation.mm in Sources */, - 03B13D81C2989C4E60F7E4C1 /* POPDecayAnimation.mm in Sources */, - 08B6146381C539B85D07FB1A /* POPGeometry.mm in Sources */, - 18FC9128420B3E68521A14D3 /* POPLayerExtras.mm in Sources */, - E6E67DB199BBAC4BA2A20BE5 /* POPMath.mm in Sources */, - FE1844707C6974D88035B68B /* POPPropertyAnimation.mm in Sources */, - DCF7AF7026A3C565C10FD4AF /* POPSpringAnimation.mm in Sources */, - 2CDE7A59FACC9547C5317663 /* POPVector.mm in Sources */, - 47B0500E556E3692E1BBD7FB /* Pods-pop-dummy.m in Sources */, - 49F3C6BDA9995B381ABF6FAD /* TransformationMatrix.cpp in Sources */, + 987758B8CC9AE1B9722212C159E99125 /* Pods-TabBarPicker_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 47CE28D3E867DEFAEFF66632 /* Sources */ = { + 2716DFA2350F3F9597E22BC02135F4DA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F0039B101E8297F2A1AE8F77 /* ALView+PureLayout.m in Sources */, - 4D5DD060A66688615FD4E9EB /* NSArray+PureLayout.m in Sources */, - FCEFF3FD64FF2132319198C1 /* NSLayoutConstraint+PureLayout.m in Sources */, - 020843D9EEED6434BCA8E03C /* Pods-PureLayout-dummy.m in Sources */, + BCFE039CCE625E616A25871D8BB2601D /* UIView+Overlay.m in Sources */, + 30BE2AA9FA254A8A54B20C5D1C439CED /* UIView-Overlay-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5982FAD384BCD5FDAE6EBEC5 /* Sources */ = { + 37FAC6BEBB39C393B15E857FE76D4914 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 85005EF9A1EFBDE7B923C85541044847 /* POPAnimatableProperty.mm in Sources */, + 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */, + 800AE2604DB4E050529B32FB08E5D2CF /* POPAnimationEvent.mm in Sources */, + E2B4468A72DF980C1B77E6CC18DC82F5 /* POPAnimationExtras.mm in Sources */, + 19022D54C183B386CBCC3929AB78ED45 /* POPAnimationRuntime.mm in Sources */, + 1F507AB6238183B539DD9E8D6886BDED /* POPAnimationTracer.mm in Sources */, + 5408B931355E2EB35B43B6E44EC7075C /* POPAnimator.mm in Sources */, + 5D0EB7072D641D8EBF0FF6E2866DAF7B /* POPBasicAnimation.mm in Sources */, + FA42222184104F516C9AF6AB85A48787 /* POPCGUtils.mm in Sources */, + B373D36B22355D41ABB9B75F3EA0BBF2 /* POPCustomAnimation.mm in Sources */, + 7635805E27D4F352CC4AC4F3E0B2228C /* POPDecayAnimation.mm in Sources */, + 34EC1894BF64A676F556AE2782F2E2A6 /* POPGeometry.mm in Sources */, + 7DCA23DE188D729056E041F49C521C1B /* POPLayerExtras.mm in Sources */, + 7BE5B65C18977D405062ACF22B6EF38C /* POPMath.mm in Sources */, + 5E9A8D95ECF3F7371BCEA9B70C879960 /* POPPropertyAnimation.mm in Sources */, + 4A629B0B3B3C72CBCC07FC57FEB9FFB5 /* POPSpringAnimation.mm in Sources */, + 7997BBF6E3FBC7DF5295ABF7224B89A4 /* POPVector.mm in Sources */, + 4BD95F156CB439EB08218A9B1BC10F87 /* TransformationMatrix.cpp in Sources */, + F3A5427CD0560096A6A82144B8B59C70 /* pop-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4DBEC0C05151203AA53BFE2A2B3389D4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 889CBF110125EF225C56E0C9 /* Sources */ = { + 58AF9A0D8F1459FE0E44084A67CBCB78 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BD57D404A47583100FD9DE8B /* ALView+PureLayout.m in Sources */, - 9CBD4F671075F58D4566E0B2 /* NSArray+PureLayout.m in Sources */, - 307EC0A341B79BF722B32F98 /* NSLayoutConstraint+PureLayout.m in Sources */, - B083E4A4515895B5BEC6C500 /* Pods-TabBarPicker_Example-PureLayout-dummy.m in Sources */, + 3329AF43344F94C2DD9A49EB23068CE8 /* Pods-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A1463F09B12761DF0C073B9B /* Sources */ = { + 78872F90B87B97BA37967B24DDA2A728 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EE29462ECD0581565A45ADE4 /* Pods-TabBarPicker_Example-TabBarPicker-dummy.m in Sources */, - CD5FBE3A47130873B6E9BE28 /* TabBarItem.m in Sources */, - C5D83684C883DF5BABEB0D0E /* TabBarPicker.m in Sources */, - 11CF75E335E70880AAE04F2B /* TabBarPickerSubItemsView.m in Sources */, - 9B3163AC28AABF4F050FAD69 /* TabBarSubItem.m in Sources */, + 7DDBA8DBAAFFC333C9196889504A8897 /* MMCPSScrollView.m in Sources */, + D6B77498010DFE75E70431CBF7896FCC /* NSString+HexColor.m in Sources */, + 4878C076CDFE4C3EA1F69EA060123C59 /* TabBarItem.m in Sources */, + 6F1FE5900883A92AFA28F808B14E8726 /* TabBarPicker-dummy.m in Sources */, + B020FF612A093F9D08267D37E81E8A10 /* TabBarPicker.m in Sources */, + 787808E143D0036BA6D65469240A1653 /* TabBarPickerSubItemsView.m in Sources */, + 2E7293FA79CA8E73693C7D7C838206AD /* TabBarSubItem.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A9F24A57E11F1D32024AD56A /* Sources */ = { + C174BA4E26F85DF204DC43D6E023477E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 290D82292817D918C6D8BB57 /* Pods-TabBarPicker_Tests-TabBarPicker-dummy.m in Sources */, - 340517EEFF7FB5C69AB5E7E3 /* TabBarItem.m in Sources */, - 40BDE802A00DFD84EF4F625E /* TabBarPicker.m in Sources */, - 21C8F509E1848075B377C10F /* TabBarPickerSubItemsView.m in Sources */, - 492B544808CCC6D323564B16 /* TabBarSubItem.m in Sources */, + 6E03012F2843C461762C74A9A046EF2E /* Pods-TabBarPicker_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - B37D333662717EFDF834E9F1 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5906B89ABF001AA820C85A0D /* Pods-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BAA7061CE85EB0A28C1FE1D2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8FED6AE4C37211F41462184A /* Pods-TabBarPicker_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C093F599C463F8714A68816F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5914913A5D8681C6A38503F2 /* POPAnimatableProperty.mm in Sources */, - A46E026A7178F04988812A25 /* POPAnimation.mm in Sources */, - 2AF197897974F0ED47E5BA73 /* POPAnimationEvent.mm in Sources */, - 0D8D216CEDB0B0736446A7DF /* POPAnimationExtras.mm in Sources */, - 8405F663AA143787C252D9B0 /* POPAnimationRuntime.mm in Sources */, - 788052CE12E84D027B723C4F /* POPAnimationTracer.mm in Sources */, - 1036C50D9AE0550A4781B329 /* POPAnimator.mm in Sources */, - C1638E0920E1B5BDA9B948B5 /* POPBasicAnimation.mm in Sources */, - 6DB438FBC269069D4CCB21E8 /* POPCGUtils.mm in Sources */, - AB2F3A788CBA4DDBFBF602BC /* POPCustomAnimation.mm in Sources */, - 18DE3E0DDC18F705CFDE950F /* POPDecayAnimation.mm in Sources */, - 8153F1510F8E97993D0F18A2 /* POPGeometry.mm in Sources */, - 11007AE2D26CDC979E005596 /* POPLayerExtras.mm in Sources */, - 56DFBD0EEC8D672C0C9F02F7 /* POPMath.mm in Sources */, - 80716918BBD2301FB591EF53 /* POPPropertyAnimation.mm in Sources */, - 94ADBF02799736FE3500B658 /* POPSpringAnimation.mm in Sources */, - 3DBFAF474ADE9C7BAEBA8C6A /* POPVector.mm in Sources */, - 9A7CC9808A3459547431DED5 /* Pods-TabBarPicker_Example-pop-dummy.m in Sources */, - 027D27FD80F8B6438DF32D71 /* TransformationMatrix.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C8707821A0B81206E670BD33 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B2EA006D2C409F9FEB8D85D5 /* Pods-TabBarPicker_Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DD9100DF8C90E8A1014E0000 /* Sources */ = { + F81A6CC9F7C1459BB6E1B159EB93EB03 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 610E3F00DD9A11CF2B3AB4ACDF9F2C88 /* ALView+PureLayout.m in Sources */, + 48D0C42EEA0F59047616F9D4F51FBD10 /* NSArray+PureLayout.m in Sources */, + 2B787FFB562C10AD02FE1C9005365F43 /* NSLayoutConstraint+PureLayout.m in Sources */, + BE8FD01BD558BC524643D9691934BCDF /* PureLayout-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 353BDA05728CE323769A5F76 /* PBXTargetDependency */ = { + 263F085CC5D8A00D39FC39FF4FDE846B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-pop"; - target = E7BEB02101A9A803932958CF /* Pods-pop */; - targetProxy = DDAD65E3EFB4F3D48C9B0924 /* PBXContainerItemProxy */; + name = PureLayout; + target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; + targetProxy = 9C6221A93B45097747C1A14AAC94A539 /* PBXContainerItemProxy */; }; - 3B7F89412D09367341565683 /* PBXTargetDependency */ = { + 53E7C4F4F479EFEBB2A85A246A5ECCC0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker"; - target = AFD4CD498974811C4E61A02F /* Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker */; - targetProxy = B9CF24999A87355CAC926702 /* PBXContainerItemProxy */; + name = pop; + target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; + targetProxy = 39095C2F0D844AC1B8E8E286164D6CDD /* PBXContainerItemProxy */; }; - 4395602BAFE524BA6AB05072 /* PBXTargetDependency */ = { + 556AFBD628162756239A7A3C81EAF400 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-TabBarPicker_Example-pop"; - target = 946D70F25BF137A0A4EEF96A /* Pods-TabBarPicker_Example-pop */; - targetProxy = F11B9780C9014D2928C551BE /* PBXContainerItemProxy */; + name = TabBarPicker; + target = F1D148434467C1B78F92DD483480D390 /* TabBarPicker */; + targetProxy = 21714EBF452DB85A216D38E2672E44B4 /* PBXContainerItemProxy */; }; - 85A636B6A2A55E1620380EE6 /* PBXTargetDependency */ = { + 7A50392FF78A36CA0C15F6A53BA3169D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-TabBarPicker_Example-TabBarPicker"; - target = FD042F8BAEE7119C1EA51707 /* Pods-TabBarPicker_Example-TabBarPicker */; - targetProxy = 89441F7C7BC845BD23CD78E5 /* PBXContainerItemProxy */; + name = "TabBarPicker-TabBarPicker"; + target = A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */; + targetProxy = CA4CD391A67ADA84167445460CB86CEE /* PBXContainerItemProxy */; }; - 8FC6CE486696715411967780 /* PBXTargetDependency */ = { + 9B78FF26A80DD918CE5742D80BB2C8F1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker"; - target = F1DAA46C7CBB0FB9B92A7891 /* Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker */; - targetProxy = CD59612697C04D7511FB3F72 /* PBXContainerItemProxy */; + name = PureLayout; + target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; + targetProxy = DDC22788C49D6AA37AFF4B7A7175DCA8 /* PBXContainerItemProxy */; }; - C9A546224915EE82C7979DA5 /* PBXTargetDependency */ = { + BC58D711EAA1035DD7B4043385568300 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-TabBarPicker_Example-PureLayout"; - target = FC23CD680277CC5E4E4AA307 /* Pods-TabBarPicker_Example-PureLayout */; - targetProxy = 5D180C6FCAEFC8A7D7B19DAE /* PBXContainerItemProxy */; + name = "UIView-Overlay"; + target = 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */; + targetProxy = A345134A6D386FDE4AF4A8F9E01EBD10 /* PBXContainerItemProxy */; }; - DED5EBCDDE8EADF676357660 /* PBXTargetDependency */ = { + D20626EC1B98DD9FB0F4E57895207498 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-PureLayout"; - target = 1CBEDBEADB5B021EC10373BA /* Pods-PureLayout */; - targetProxy = F50373A50FD095C9BEDADF57 /* PBXContainerItemProxy */; + name = pop; + target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; + targetProxy = CE8A779771949E83F912B98700B02CC3 /* PBXContainerItemProxy */; }; - FE57A8C85A3AA5BEA074B60B /* PBXTargetDependency */ = { + D353DC8A1B3A57D87730ABC8C5045347 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-TabBarPicker_Tests-TabBarPicker"; - target = B372419045A1236C95998EEE /* Pods-TabBarPicker_Tests-TabBarPicker */; - targetProxy = 282412CAFD4BFDEE527273F1 /* PBXContainerItemProxy */; + name = TabBarPicker; + target = F1D148434467C1B78F92DD483480D390 /* TabBarPicker */; + targetProxy = 83FF373FD2C1D0B14B1A0607CDF77E30 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0137D5001B145546228A2AC2 /* Release */ = { + 2066CCDBDB87AD21E4D2D89AC51217E8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AACDA0D53FD379145B87967F /* Pods-TabBarPicker_Tests.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Tests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 0A075335366FC031358ECC5A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1E4EF796544765F03C26C5F6 /* Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 0E49AB0C3522CA29D6810D95 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A98D75D7D5CB3392E41BD69 /* Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 29A1D2816196AFFD23076976 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A98D75D7D5CB3392E41BD69 /* Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 3F9577FA04B5F5F50DA1B41E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AB5CF71B60E10265E1E5C9C4 /* Pods-PureLayout-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-PureLayout/Pods-PureLayout-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-PureLayout/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-PureLayout/Pods-PureLayout.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = PureLayout; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 3FAE575AE3359AA0B74EC30B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 60C58E758F5AB6A902FEE223 /* Pods-TabBarPicker_Tests.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Tests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 40907F05EF262B2DDD2D46D8 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A98D75D7D5CB3392E41BD69 /* Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 4B70D5BAB6310BE80286D4C8 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F9D1830163CD771BFB1625E2 /* Pods-pop-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-pop/Pods-pop-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-pop/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-pop/Pods-pop.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = pop; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 5DC7D5896A2517CDD95A9FDB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D0E3D724A6EA5F0CB37B6CA8 /* Pods-TabBarPicker_Example.release.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Example; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 65EE673C3CE7D48574A52076 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AB5CF71B60E10265E1E5C9C4 /* Pods-PureLayout-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-PureLayout/Pods-PureLayout-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-PureLayout/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-PureLayout/Pods-PureLayout.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = PureLayout; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 6AF3ECE696F723B343BDBE78 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1E4EF796544765F03C26C5F6 /* Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 6BF9511E40EB99893E08D88A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 09F0618CA132ECDEBA57689E /* Pods.release.xcconfig */; + baseConfigurationReference = 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1697,38 +1187,10 @@ }; name = Release; }; - 771DCB0B444BC2F9386BABDB /* Release */ = { + 28EF43783794FD9B1568A9C35E9A162E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 84A53CAFAF6FC2AD97EB62D0 /* Pods-TabBarPicker_Example-PureLayout-Private.xcconfig */; + baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example-PureLayout/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = PureLayout; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 7ACDD088BF2CCF20049B76BB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1E4EF796544765F03C26C5F6 /* Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example"; ENABLE_STRICT_OBJC_MSGSEND = YES; PRODUCT_NAME = TabBarPicker; SDKROOT = iphoneos; @@ -1737,9 +1199,9 @@ }; name = Debug; }; - 89136DBFF1F9643DD0F82C3B /* Debug */ = { + 2D8F5C3F965F0EBFF002EB0C9FC6208A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 84A53CAFAF6FC2AD97EB62D0 /* Pods-TabBarPicker_Example-PureLayout-Private.xcconfig */; + baseConfigurationReference = 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1748,14 +1210,16 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example-PureLayout/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = PureLayout; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1764,9 +1228,36 @@ }; name = Debug; }; - 97975B96B36BFDD0C0DD2611 /* Debug */ = { + 35828C8A7F9216B42DE47E2CB3635497 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F9D1830163CD771BFB1625E2 /* Pods-pop-Private.xcconfig */; + baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 0.1.0; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TabBarPicker/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TabBarPicker/TabBarPicker.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 53716082E729E9D4B839C6220614FB54 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1775,25 +1266,27 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-pop/Pods-pop-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-pop/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-pop/Pods-pop.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = pop; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Example; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 9C43680ADDD2EA24FD1810E6 /* Debug */ = { + 6664CA7E751349755DD09C170467FE20 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E440264E752919182072967E /* Pods.debug.xcconfig */; + baseConfigurationReference = 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1820,113 +1313,23 @@ }; name = Debug; }; - A5BD14FB8A2C7A3EE22E0632 /* Debug */ = { + 6BB8C8F248F889CF0F50B1CEE04505D3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9BEA3DCC64741E5370473F3D /* Pods-TabBarPicker_Example-pop-Private.xcconfig */; + baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0.1.0; DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example-pop/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TabBarPicker/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = pop; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A730F4D4FFB20E59180732AE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - D26C3494EAB3A75ACF97A70F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5D1607BD1F1F54335A2E124B /* Pods-TabBarPicker_Example.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Example; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D30C7B7927463B8AD632C177 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A98D75D7D5CB3392E41BD69 /* Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap"; + MODULEMAP_FILE = "Target Support Files/TabBarPicker/TabBarPicker.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_NAME = TabBarPicker; SDKROOT = iphoneos; @@ -1937,23 +1340,23 @@ }; name = Debug; }; - D3AB86F6BCE5BB8C2CE31C46 /* Release */ = { + 741C768B9D20203171F89E904F8DBA84 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9BEA3DCC64741E5370473F3D /* Pods-TabBarPicker_Example-pop-Private.xcconfig */; + baseConfigurationReference = D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 1.0.7; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example-pop/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/pop/pop-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/pop/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.modulemap"; + MODULEMAP_FILE = "Target Support Files/pop/pop.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = pop; SDKROOT = iphoneos; @@ -1964,25 +1367,52 @@ }; name = Release; }; - DB811E3DD83C3D7B25DD7A45 /* Release */ = { + 74A43C5A7CCB36D57EB630315D3635D4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1E4EF796544765F03C26C5F6 /* Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig */; + baseConfigurationReference = D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 1.0.7; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/pop/pop-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/pop/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.modulemap"; + MODULEMAP_FILE = "Target Support Files/pop/pop.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = pop; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 8626F2F2D2E77F074BA7C6308EA169EA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 0.1.0; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIView-Overlay/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/UIView-Overlay/UIView-Overlay.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = TabBarPicker; + PRODUCT_NAME = UIView_Overlay; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1991,7 +1421,34 @@ }; name = Release; }; - DEEDAB23FD57D8B5955E5381 /* Debug */ = { + A6561B358E01BFF5FB5CA58D277CEB4B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 2.0.6; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 2; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = PureLayout; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2030,118 +1487,249 @@ }; name = Debug; }; + B158500711D7068A16E560952B6FDDB5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Tests; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + D2508CF669B09E50DB3CA24B7DF1C4AA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 2.0.6; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 2; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = PureLayout; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + EAC45E7C968E7C99C6DDDCA7118C6046 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + EBDFA5AD527D993FB3CC30409A575FDB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 0.1.0; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIView-Overlay/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/UIView-Overlay/UIView-Overlay.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = UIView_Overlay; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + F23676D4918F605972662730CEDD3AC6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Example; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + FB45FFD90572718D82AB9092B750F0CA /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0A5C9962CC6E2CDAE9F5A244 /* Build configuration list for PBXProject "Pods" */ = { + 24BE35686B3092A5E39AB603AB9548D8 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */ = { isa = XCConfigurationList; buildConfigurations = ( - DEEDAB23FD57D8B5955E5381 /* Debug */, - A730F4D4FFB20E59180732AE /* Release */, + EBDFA5AD527D993FB3CC30409A575FDB /* Debug */, + 8626F2F2D2E77F074BA7C6308EA169EA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2E81D7E5E734DF610F612014 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests-TabBarPicker-TabBarPicker" */ = { + 29946541803109559D5B69F86E5F2398 /* Build configuration list for PBXNativeTarget "PureLayout" */ = { isa = XCConfigurationList; buildConfigurations = ( - 29A1D2816196AFFD23076976 /* Debug */, - 40907F05EF262B2DDD2D46D8 /* Release */, + D2508CF669B09E50DB3CA24B7DF1C4AA /* Debug */, + A6561B358E01BFF5FB5CA58D277CEB4B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 66490470A83331F4635B40C4 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker" */ = { + 2B10C739C4CC85FE1BE4140241D8548B /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7ACDD088BF2CCF20049B76BB /* Debug */, - 6AF3ECE696F723B343BDBE78 /* Release */, + F23676D4918F605972662730CEDD3AC6 /* Debug */, + 53716082E729E9D4B839C6220614FB54 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 72E23B35092CA4CB55196D36 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-PureLayout" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 89136DBFF1F9643DD0F82C3B /* Debug */, - 771DCB0B444BC2F9386BABDB /* Release */, + A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */, + FB45FFD90572718D82AB9092B750F0CA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7CFCB7BEFBE193A8102C2189 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-pop" */ = { + 3966147425507300FEC05A226BE2920D /* Build configuration list for PBXNativeTarget "TabBarPicker-TabBarPicker" */ = { isa = XCConfigurationList; buildConfigurations = ( - A5BD14FB8A2C7A3EE22E0632 /* Debug */, - D3AB86F6BCE5BB8C2CE31C46 /* Release */, + 28EF43783794FD9B1568A9C35E9A162E /* Debug */, + EAC45E7C968E7C99C6DDDCA7118C6046 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 95B7C77AF45F2728B35ECE53 /* Build configuration list for PBXNativeTarget "Pods-pop" */ = { + 46ECFA57CB15AE0591893FA284A902AA /* Build configuration list for PBXNativeTarget "pop" */ = { isa = XCConfigurationList; buildConfigurations = ( - 97975B96B36BFDD0C0DD2611 /* Debug */, - 4B70D5BAB6310BE80286D4C8 /* Release */, + 74A43C5A7CCB36D57EB630315D3635D4 /* Debug */, + 741C768B9D20203171F89E904F8DBA84 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9F13BA7CA271A219970E0A95 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */ = { + 630E7CF328E5A22E649CE1101654AE09 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D26C3494EAB3A75ACF97A70F /* Debug */, - 5DC7D5896A2517CDD95A9FDB /* Release */, + 2D8F5C3F965F0EBFF002EB0C9FC6208A /* Debug */, + B158500711D7068A16E560952B6FDDB5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AD119FA560FF9B68953A2DAF /* Build configuration list for PBXNativeTarget "Pods-PureLayout" */ = { + B406DCC2604A6093F81FC863CD22CF3F /* Build configuration list for PBXNativeTarget "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 65EE673C3CE7D48574A52076 /* Debug */, - 3F9577FA04B5F5F50DA1B41E /* Release */, + 6664CA7E751349755DD09C170467FE20 /* Debug */, + 2066CCDBDB87AD21E4D2D89AC51217E8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BFC56E3D2FCBD7DE3847A156 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */ = { + E2A3F482B92B850797D51004F0CAA8E1 /* Build configuration list for PBXNativeTarget "TabBarPicker" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3FAE575AE3359AA0B74EC30B /* Debug */, - 0137D5001B145546228A2AC2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C0224D9F8A2C58FB5B2EE663 /* Build configuration list for PBXNativeTarget "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9C43680ADDD2EA24FD1810E6 /* Debug */, - 6BF9511E40EB99893E08D88A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E2B13172A761D25ED51B03B3 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example-TabBarPicker" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0A075335366FC031358ECC5A /* Debug */, - DB811E3DD83C3D7B25DD7A45 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E45E56871FE5E5AF4E0CCB81 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests-TabBarPicker" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D30C7B7927463B8AD632C177 /* Debug */, - 0E49AB0C3522CA29D6810D95 /* Release */, + 6BB8C8F248F889CF0F50B1CEE04505D3 /* Debug */, + 35828C8A7F9216B42DE47E2CB3635497 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 076EE4A4A31F3EF31885BF1B /* Project object */; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; } diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme new file mode 100644 index 0000000..3954c7b --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-Private.xcconfig b/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-Private.xcconfig deleted file mode 100644 index 4ce3d0f..0000000 --- a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-Private.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -#include "Pods-PureLayout.xcconfig" -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PureLayout" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PureLayout" "${PODS_ROOT}/Headers/Public/TabBarPicker" "${PODS_ROOT}/Headers/Public/pop" -OTHER_LDFLAGS = -ObjC -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-dummy.m b/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-dummy.m deleted file mode 100644 index 06b8788..0000000 --- a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_PureLayout : NSObject -@end -@implementation PodsDummy_Pods_PureLayout -@end diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-Private.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-Private.xcconfig deleted file mode 100644 index 616ed45..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-Private.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -#include "Pods-TabBarPicker_Example-PureLayout.xcconfig" -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PureLayout" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PureLayout" "${PODS_ROOT}/Headers/Public/TabBarPicker" "${PODS_ROOT}/Headers/Public/pop" -OTHER_LDFLAGS = -ObjC -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-dummy.m b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-dummy.m deleted file mode 100644 index 79e7f6b..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_TabBarPicker_Example_PureLayout : NSObject -@end -@implementation PodsDummy_Pods_TabBarPicker_Example_PureLayout -@end diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch deleted file mode 100644 index 0f9661b..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-TabBarPicker_Example-environment.h" diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-umbrella.h b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-umbrella.h deleted file mode 100644 index b50c609..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout-umbrella.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -#import "ALView+PureLayout.h" -#import "NSArray+PureLayout.h" -#import "NSLayoutConstraint+PureLayout.h" -#import "PureLayout+Internal.h" -#import "PureLayout.h" -#import "PureLayoutDefines.h" - -FOUNDATION_EXPORT double PureLayoutVersionNumber; -FOUNDATION_EXPORT const unsigned char PureLayoutVersionString[]; - diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap deleted file mode 100644 index 2774168..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module PureLayout { - umbrella header "Pods-TabBarPicker_Example-PureLayout-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig deleted file mode 100644 index d558dbc..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-Private.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -#include "Pods-TabBarPicker_Example-TabBarPicker.xcconfig" -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/TabBarPicker" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PureLayout" "${PODS_ROOT}/Headers/Public/TabBarPicker" "${PODS_ROOT}/Headers/Public/pop" -OTHER_LDFLAGS = -ObjC -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-dummy.m b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-dummy.m deleted file mode 100644 index a3d940c..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_TabBarPicker_Example_TabBarPicker : NSObject -@end -@implementation PodsDummy_Pods_TabBarPicker_Example_TabBarPicker -@end diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-prefix.pch b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-prefix.pch deleted file mode 100644 index 0f9661b..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-TabBarPicker_Example-environment.h" diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.modulemap b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.modulemap deleted file mode 100644 index 5836356..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module TabBarPicker { - umbrella header "Pods-TabBarPicker_Example-TabBarPicker-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-Private.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-Private.xcconfig deleted file mode 100644 index 46cb078..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-Private.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -#include "Pods-TabBarPicker_Example-pop.xcconfig" -CLANG_CXX_LANGUAGE_STANDARD = ${PODS_TABBARPICKER_EXAMPLE_POP_CLANG_CXX_LANGUAGE_STANDARD} -CLANG_CXX_LIBRARY = ${PODS_TABBARPICKER_EXAMPLE_POP_CLANG_CXX_LIBRARY} -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/pop" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PureLayout" "${PODS_ROOT}/Headers/Public/TabBarPicker" "${PODS_ROOT}/Headers/Public/pop" -OTHER_LDFLAGS = ${PODS_TABBARPICKER_EXAMPLE_POP_OTHER_LDFLAGS} -ObjC -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-dummy.m b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-dummy.m deleted file mode 100644 index b90b0d1..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_TabBarPicker_Example_pop : NSObject -@end -@implementation PodsDummy_Pods_TabBarPicker_Example_pop -@end diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-prefix.pch b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-prefix.pch deleted file mode 100644 index 0f9661b..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-TabBarPicker_Example-environment.h" diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.modulemap b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.modulemap deleted file mode 100644 index 22b4a3e..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module pop { - umbrella header "Pods-TabBarPicker_Example-pop-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.xcconfig deleted file mode 100644 index 92dd1e6..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -PODS_TABBARPICKER_EXAMPLE_POP_CLANG_CXX_LANGUAGE_STANDARD = c++11 -PODS_TABBARPICKER_EXAMPLE_POP_CLANG_CXX_LIBRARY = libc++ -PODS_TABBARPICKER_EXAMPLE_POP_OTHER_LDFLAGS = -l"c++" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown index 14fba85..df247af 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown @@ -14,29 +14,6 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## TabBarPicker - -Copyright (c) 2015 Giuseppe Nucifora - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ## pop BSD License @@ -70,4 +47,53 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## TabBarPicker + +Copyright (c) 2015 Giuseppe Nucifora + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## UIView-Overlay + +The MIT License (MIT) + +Copyright (c) 2015 lanserxt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist index 4b92fed..1644936 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist @@ -29,33 +29,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier - - FooterText - Copyright (c) 2015 Giuseppe Nucifora <me@giuseppenucifora.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - Title - TabBarPicker - Type - PSGroupSpecifier - FooterText BSD License @@ -94,6 +67,63 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Type PSGroupSpecifier + + FooterText + Copyright (c) 2015 Giuseppe Nucifora <me@giuseppenucifora.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + Title + TabBarPicker + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 lanserxt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + Title + UIView-Overlay + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-environment.h b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-environment.h deleted file mode 100644 index eab27de..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-environment.h +++ /dev/null @@ -1,26 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// PureLayout -#define COCOAPODS_POD_AVAILABLE_PureLayout -#define COCOAPODS_VERSION_MAJOR_PureLayout 2 -#define COCOAPODS_VERSION_MINOR_PureLayout 0 -#define COCOAPODS_VERSION_PATCH_PureLayout 6 - -// TabBarPicker -#define COCOAPODS_POD_AVAILABLE_TabBarPicker -#define COCOAPODS_VERSION_MAJOR_TabBarPicker 0 -#define COCOAPODS_VERSION_MINOR_TabBarPicker 1 -#define COCOAPODS_VERSION_PATCH_TabBarPicker 0 - -// pop -#define COCOAPODS_POD_AVAILABLE_pop -#define COCOAPODS_VERSION_MAJOR_pop 1 -#define COCOAPODS_VERSION_MINOR_pop 0 -#define COCOAPODS_VERSION_PATCH_pop 7 - diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh index ea4d8e3..48d6339 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh @@ -8,52 +8,58 @@ SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" install_framework() { - local source="${BUILT_PRODUCTS_DIR}/Pods-TabBarPicker_Example/$1" + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + else + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + fi + local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then echo "Symlinked..." - source=$(readlink "${source}") + source="$(readlink "${source}")" fi # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" --filter "- Modules/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" --filter "- Modules/" "${source}" "${destination}" + echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi + code_sign_if_enabled "${destination}/$(basename "$1")" # Embed linked Swift runtime libraries local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) + basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})" local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi + code_sign_if_enabled "${destination}/${lib}" done } # Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" + /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" + fi } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'PureLayout.framework' - install_framework 'TabBarPicker.framework' - install_framework 'pop.framework' + install_framework 'Pods-TabBarPicker_Example/PureLayout.framework' + install_framework 'Pods-TabBarPicker_Example/pop.framework' + install_framework 'Pods-TabBarPicker_Example/TabBarPicker.framework' + install_framework 'Pods-TabBarPicker_Example/UIView_Overlay.framework' fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'PureLayout.framework' - install_framework 'TabBarPicker.framework' - install_framework 'pop.framework' + install_framework 'Pods-TabBarPicker_Example/PureLayout.framework' + install_framework 'Pods-TabBarPicker_Example/pop.framework' + install_framework 'Pods-TabBarPicker_Example/TabBarPicker.framework' + install_framework 'Pods-TabBarPicker_Example/UIView_Overlay.framework' fi diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-resources.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-resources.sh index 43f0852..ea685a2 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-resources.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-resources.sh @@ -9,7 +9,7 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() realpath() { - DIRECTORY=$(cd "${1%/*}" && pwd) + DIRECTORY="$(cd "${1%/*}" && pwd)" FILENAME="${1##*/}" echo "$DIRECTORY/$FILENAME" } @@ -22,7 +22,7 @@ install_resource() ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.framework) @@ -58,8 +58,10 @@ install_resource() esac } +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi rm -f "$RESOURCES_TO_COPY" diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig index 2561d3f..7736e1a 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig @@ -1,8 +1,8 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_FRAMEWORK_BUILD_PATH" +CLANG_CXX_LANGUAGE_STANDARD = c++11 +CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/PureLayout.framework/Headers" -iquote "$PODS_FRAMEWORK_BUILD_PATH/TabBarPicker.framework/Headers" -iquote "$PODS_FRAMEWORK_BUILD_PATH/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "PureLayout" -framework "TabBarPicker" -framework "pop" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIView_Overlay" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig index 2561d3f..7736e1a 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig @@ -1,8 +1,8 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_FRAMEWORK_BUILD_PATH" +CLANG_CXX_LANGUAGE_STANDARD = c++11 +CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/PureLayout.framework/Headers" -iquote "$PODS_FRAMEWORK_BUILD_PATH/TabBarPicker.framework/Headers" -iquote "$PODS_FRAMEWORK_BUILD_PATH/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "PureLayout" -framework "TabBarPicker" -framework "pop" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIView_Overlay" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Info.plist b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Info.plist deleted file mode 100644 index 4ba5fa2..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.1.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig deleted file mode 100644 index 601024c..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-Private.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -#include "Pods-TabBarPicker_Tests-TabBarPicker.xcconfig" -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/TabBarPicker" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PureLayout" "${PODS_ROOT}/Headers/Public/TabBarPicker" "${PODS_ROOT}/Headers/Public/pop" -OTHER_LDFLAGS = -ObjC -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-dummy.m b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-dummy.m deleted file mode 100644 index 629ec6f..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_TabBarPicker_Tests_TabBarPicker : NSObject -@end -@implementation PodsDummy_Pods_TabBarPicker_Tests_TabBarPicker -@end diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h deleted file mode 100644 index d59ed06..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -#import "TabBarItem.h" -#import "TabBarPicker.h" -#import "TabBarPickerSubItemsView.h" -#import "TabBarSubItem.h" - -FOUNDATION_EXPORT double TabBarPickerVersionNumber; -FOUNDATION_EXPORT const unsigned char TabBarPickerVersionString[]; - diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-environment.h b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-environment.h deleted file mode 100644 index 0fe2be2..0000000 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// TabBarPicker -#define COCOAPODS_POD_AVAILABLE_TabBarPicker -#define COCOAPODS_VERSION_MAJOR_TabBarPicker 0 -#define COCOAPODS_VERSION_MINOR_TabBarPicker 1 -#define COCOAPODS_VERSION_PATCH_TabBarPicker 0 - diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh index bd00b20..ed650a2 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh @@ -8,48 +8,52 @@ SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" install_framework() { - local source="${BUILT_PRODUCTS_DIR}/Pods-TabBarPicker_Tests/$1" + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + else + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + fi + local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then echo "Symlinked..." - source=$(readlink "${source}") + source="$(readlink "${source}")" fi # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" --filter "- Modules/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" --filter "- Modules/" "${source}" "${destination}" + echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi + code_sign_if_enabled "${destination}/$(basename "$1")" # Embed linked Swift runtime libraries local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) + basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})" local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi + code_sign_if_enabled "${destination}/${lib}" done } # Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" + /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" + fi } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'TabBarPicker.framework' + install_framework 'Pods-TabBarPicker_Tests/TabBarPicker.framework' fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'TabBarPicker.framework' + install_framework 'Pods-TabBarPicker_Tests/TabBarPicker.framework' fi diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh index 43f0852..ea685a2 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh @@ -9,7 +9,7 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() realpath() { - DIRECTORY=$(cd "${1%/*}" && pwd) + DIRECTORY="$(cd "${1%/*}" && pwd)" FILENAME="${1##*/}" echo "$DIRECTORY/$FILENAME" } @@ -22,7 +22,7 @@ install_resource() ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.framework) @@ -58,8 +58,10 @@ install_resource() esac } +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi rm -f "$RESOURCES_TO_COPY" diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig index 24c2436..65904b3 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig @@ -1,8 +1,6 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_FRAMEWORK_BUILD_PATH" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/TabBarPicker.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "TabBarPicker" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "TabBarPicker" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig index 24c2436..65904b3 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig @@ -1,8 +1,6 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_FRAMEWORK_BUILD_PATH" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/TabBarPicker.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "TabBarPicker" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "TabBarPicker" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-pop/Info.plist b/Example/Pods/Target Support Files/Pods-pop/Info.plist deleted file mode 100644 index f3506fc..0000000 --- a/Example/Pods/Target Support Files/Pods-pop/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.7 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-Private.xcconfig b/Example/Pods/Target Support Files/Pods-pop/Pods-pop-Private.xcconfig deleted file mode 100644 index ee7d23f..0000000 --- a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-Private.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -#include "Pods-pop.xcconfig" -CLANG_CXX_LANGUAGE_STANDARD = ${PODS_POP_CLANG_CXX_LANGUAGE_STANDARD} -CLANG_CXX_LIBRARY = ${PODS_POP_CLANG_CXX_LIBRARY} -CONFIGURATION_BUILD_DIR = $PODS_FRAMEWORK_BUILD_PATH -FRAMEWORK_SEARCH_PATHS = "$PODS_FRAMEWORK_BUILD_PATH" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/pop" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PureLayout" "${PODS_ROOT}/Headers/Public/TabBarPicker" "${PODS_ROOT}/Headers/Public/pop" -OTHER_LDFLAGS = ${PODS_POP_OTHER_LDFLAGS} -ObjC -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-dummy.m b/Example/Pods/Target Support Files/Pods-pop/Pods-pop-dummy.m deleted file mode 100644 index d07c34b..0000000 --- a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_pop : NSObject -@end -@implementation PodsDummy_Pods_pop -@end diff --git a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-umbrella.h b/Example/Pods/Target Support Files/Pods-pop/Pods-pop-umbrella.h deleted file mode 100644 index 3f8318a..0000000 --- a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-umbrella.h +++ /dev/null @@ -1,21 +0,0 @@ -#import - -#import "POP.h" -#import "POPAnimatableProperty.h" -#import "POPAnimation.h" -#import "POPAnimationEvent.h" -#import "POPAnimationExtras.h" -#import "POPAnimationTracer.h" -#import "POPAnimator.h" -#import "POPBasicAnimation.h" -#import "POPCustomAnimation.h" -#import "POPDecayAnimation.h" -#import "POPDefines.h" -#import "POPGeometry.h" -#import "POPLayerExtras.h" -#import "POPPropertyAnimation.h" -#import "POPSpringAnimation.h" - -FOUNDATION_EXPORT double popVersionNumber; -FOUNDATION_EXPORT const unsigned char popVersionString[]; - diff --git a/Example/Pods/Target Support Files/Pods-pop/Pods-pop.xcconfig b/Example/Pods/Target Support Files/Pods-pop/Pods-pop.xcconfig deleted file mode 100644 index 40e5d19..0000000 --- a/Example/Pods/Target Support Files/Pods-pop/Pods-pop.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -PODS_POP_CLANG_CXX_LANGUAGE_STANDARD = c++11 -PODS_POP_CLANG_CXX_LIBRARY = libc++ -PODS_POP_OTHER_LDFLAGS = -l"c++" \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods/Pods-environment.h b/Example/Pods/Target Support Files/Pods/Pods-environment.h deleted file mode 100644 index 110b674..0000000 --- a/Example/Pods/Target Support Files/Pods/Pods-environment.h +++ /dev/null @@ -1,20 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// PureLayout -#define COCOAPODS_POD_AVAILABLE_PureLayout -#define COCOAPODS_VERSION_MAJOR_PureLayout 2 -#define COCOAPODS_VERSION_MINOR_PureLayout 0 -#define COCOAPODS_VERSION_PATCH_PureLayout 6 - -// pop -#define COCOAPODS_POD_AVAILABLE_pop -#define COCOAPODS_VERSION_MAJOR_pop 1 -#define COCOAPODS_VERSION_MINOR_pop 0 -#define COCOAPODS_VERSION_PATCH_pop 7 - diff --git a/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh b/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh index e84be3c..c42beb9 100755 --- a/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh @@ -8,50 +8,54 @@ SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" install_framework() { - local source="${BUILT_PRODUCTS_DIR}/Pods/$1" + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + else + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + fi + local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then echo "Symlinked..." - source=$(readlink "${source}") + source="$(readlink "${source}")" fi # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" --filter "- Modules/" ${source} ${destination}" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers/" --filter "- PrivateHeaders/" --filter "- Modules/" "${source}" "${destination}" + echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Resign the code if required by the build settings to avoid unstable apps - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/$1" - fi + code_sign_if_enabled "${destination}/$(basename "$1")" # Embed linked Swift runtime libraries local basename - basename=$(echo $1 | sed -E s/\\..+// && exit ${PIPESTATUS[0]}) + basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})" local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/$1/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then - code_sign "${destination}/${lib}" - fi + code_sign_if_enabled "${destination}/${lib}" done } # Signs a framework with the provided identity -code_sign() { - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" + /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" + fi } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'PureLayout.framework' - install_framework 'pop.framework' + install_framework 'Pods/PureLayout.framework' + install_framework 'Pods/pop.framework' fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'PureLayout.framework' - install_framework 'pop.framework' + install_framework 'Pods/PureLayout.framework' + install_framework 'Pods/pop.framework' fi diff --git a/Example/Pods/Target Support Files/Pods/Pods-resources.sh b/Example/Pods/Target Support Files/Pods/Pods-resources.sh index 43f0852..ea685a2 100755 --- a/Example/Pods/Target Support Files/Pods/Pods-resources.sh +++ b/Example/Pods/Target Support Files/Pods/Pods-resources.sh @@ -9,7 +9,7 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() realpath() { - DIRECTORY=$(cd "${1%/*}" && pwd) + DIRECTORY="$(cd "${1%/*}" && pwd)" FILENAME="${1##*/}" echo "$DIRECTORY/$FILENAME" } @@ -22,7 +22,7 @@ install_resource() ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.framework) @@ -58,8 +58,10 @@ install_resource() esac } +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi rm -f "$RESOURCES_TO_COPY" diff --git a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig index 3122897..d9724d9 100644 --- a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -1,8 +1,8 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_FRAMEWORK_BUILD_PATH" +CLANG_CXX_LANGUAGE_STANDARD = c++11 +CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/PureLayout.framework/Headers" -iquote "$PODS_FRAMEWORK_BUILD_PATH/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "PureLayout" -framework "pop" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig index 3122897..d9724d9 100644 --- a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -1,8 +1,8 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_FRAMEWORK_BUILD_PATH" +CLANG_CXX_LANGUAGE_STANDARD = c++11 +CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_FRAMEWORK_BUILD_PATH/PureLayout.framework/Headers" -iquote "$PODS_FRAMEWORK_BUILD_PATH/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -ObjC -framework "PureLayout" -framework "pop" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Info.plist b/Example/Pods/Target Support Files/PureLayout/Info.plist similarity index 100% rename from Example/Pods/Target Support Files/Pods-PureLayout/Info.plist rename to Example/Pods/Target Support Files/PureLayout/Info.plist diff --git a/Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig b/Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig new file mode 100644 index 0000000..a7833f5 --- /dev/null +++ b/Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig @@ -0,0 +1,5 @@ +#include "PureLayout.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PureLayout" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/PureLayout/PureLayout-dummy.m b/Example/Pods/Target Support Files/PureLayout/PureLayout-dummy.m new file mode 100644 index 0000000..de09ca1 --- /dev/null +++ b/Example/Pods/Target Support Files/PureLayout/PureLayout-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_PureLayout : NSObject +@end +@implementation PodsDummy_PureLayout +@end diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-prefix.pch b/Example/Pods/Target Support Files/PureLayout/PureLayout-prefix.pch similarity index 62% rename from Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-prefix.pch rename to Example/Pods/Target Support Files/PureLayout/PureLayout-prefix.pch index 95cf11d..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-prefix.pch +++ b/Example/Pods/Target Support Files/PureLayout/PureLayout-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-environment.h" diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-umbrella.h b/Example/Pods/Target Support Files/PureLayout/PureLayout-umbrella.h similarity index 100% rename from Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout-umbrella.h rename to Example/Pods/Target Support Files/PureLayout/PureLayout-umbrella.h diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout.modulemap b/Example/Pods/Target Support Files/PureLayout/PureLayout.modulemap similarity index 59% rename from Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout.modulemap rename to Example/Pods/Target Support Files/PureLayout/PureLayout.modulemap index 93eafb9..fd62d58 100644 --- a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout.modulemap +++ b/Example/Pods/Target Support Files/PureLayout/PureLayout.modulemap @@ -1,5 +1,5 @@ framework module PureLayout { - umbrella header "Pods-PureLayout-umbrella.h" + umbrella header "PureLayout-umbrella.h" export * module * { export * } diff --git a/Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout.xcconfig b/Example/Pods/Target Support Files/PureLayout/PureLayout.xcconfig similarity index 100% rename from Example/Pods/Target Support Files/Pods-PureLayout/Pods-PureLayout.xcconfig rename to Example/Pods/Target Support Files/PureLayout/PureLayout.xcconfig diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Info.plist b/Example/Pods/Target Support Files/TabBarPicker/Info.plist similarity index 100% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Info.plist rename to Example/Pods/Target Support Files/TabBarPicker/Info.plist diff --git a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig new file mode 100644 index 0000000..8013a59 --- /dev/null +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig @@ -0,0 +1,5 @@ +#include "TabBarPicker.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/TabBarPicker" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-dummy.m b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-dummy.m new file mode 100644 index 0000000..e567fd4 --- /dev/null +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_TabBarPicker : NSObject +@end +@implementation PodsDummy_TabBarPicker +@end diff --git a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-prefix.pch b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-prefix.pch similarity index 62% rename from Example/Pods/Target Support Files/Pods-pop/Pods-pop-prefix.pch rename to Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-prefix.pch index 95cf11d..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-pop/Pods-pop-prefix.pch +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-environment.h" diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-umbrella.h b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h similarity index 81% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-umbrella.h rename to Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h index d59ed06..a8605da 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker-umbrella.h +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h @@ -4,6 +4,8 @@ #import "TabBarPicker.h" #import "TabBarPickerSubItemsView.h" #import "TabBarSubItem.h" +#import "MMCPSScrollView.h" +#import "NSString+HexColor.h" FOUNDATION_EXPORT double TabBarPickerVersionNumber; FOUNDATION_EXPORT const unsigned char TabBarPickerVersionString[]; diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.modulemap similarity index 50% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap rename to Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.modulemap index 1f8fead..a60af63 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker.modulemap +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.modulemap @@ -1,5 +1,5 @@ framework module TabBarPicker { - umbrella header "Pods-TabBarPicker_Tests-TabBarPicker-umbrella.h" + umbrella header "TabBarPicker-umbrella.h" export * module * { export * } diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.xcconfig b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.xcconfig similarity index 100% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Pods-TabBarPicker_Example-PureLayout.xcconfig rename to Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.xcconfig diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Info.plist b/Example/Pods/Target Support Files/UIView-Overlay/Info.plist similarity index 97% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Info.plist rename to Example/Pods/Target Support Files/UIView-Overlay/Info.plist index 88f5e5f..f27af2b 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-PureLayout/Info.plist +++ b/Example/Pods/Target Support Files/UIView-Overlay/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.0.6 + 0.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig new file mode 100644 index 0000000..6a3f985 --- /dev/null +++ b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig @@ -0,0 +1,5 @@ +#include "UIView-Overlay.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIView-Overlay" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-dummy.m b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-dummy.m new file mode 100644 index 0000000..2173862 --- /dev/null +++ b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_UIView_Overlay : NSObject +@end +@implementation PodsDummy_UIView_Overlay +@end diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch similarity index 50% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch rename to Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch index e6ffe76..aa992a4 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests-TabBarPicker/Pods-TabBarPicker_Tests-TabBarPicker-prefix.pch +++ b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-TabBarPicker_Tests-environment.h" diff --git a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-umbrella.h b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-umbrella.h new file mode 100644 index 0000000..ff86c33 --- /dev/null +++ b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-umbrella.h @@ -0,0 +1,7 @@ +#import + +#import "UIView+Overlay.h" + +FOUNDATION_EXPORT double UIView_OverlayVersionNumber; +FOUNDATION_EXPORT const unsigned char UIView_OverlayVersionString[]; + diff --git a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.modulemap b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.modulemap new file mode 100644 index 0000000..db72ebd --- /dev/null +++ b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.modulemap @@ -0,0 +1,6 @@ +framework module UIView_Overlay { + umbrella header "UIView-Overlay-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.xcconfig b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.xcconfig similarity index 100% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-TabBarPicker/Pods-TabBarPicker_Example-TabBarPicker.xcconfig rename to Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.xcconfig diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Info.plist b/Example/Pods/Target Support Files/pop/Info.plist similarity index 100% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Info.plist rename to Example/Pods/Target Support Files/pop/Info.plist diff --git a/Example/Pods/Target Support Files/pop/pop-Private.xcconfig b/Example/Pods/Target Support Files/pop/pop-Private.xcconfig new file mode 100644 index 0000000..0661ca5 --- /dev/null +++ b/Example/Pods/Target Support Files/pop/pop-Private.xcconfig @@ -0,0 +1,8 @@ +#include "pop.xcconfig" +CLANG_CXX_LANGUAGE_STANDARD = ${POP_CLANG_CXX_LANGUAGE_STANDARD} +CLANG_CXX_LIBRARY = ${POP_CLANG_CXX_LIBRARY} +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/pop" "${PODS_ROOT}/Headers/Public" +OTHER_LDFLAGS = ${POP_OTHER_LDFLAGS} +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/pop/pop-dummy.m b/Example/Pods/Target Support Files/pop/pop-dummy.m new file mode 100644 index 0000000..19ed261 --- /dev/null +++ b/Example/Pods/Target Support Files/pop/pop-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_pop : NSObject +@end +@implementation PodsDummy_pop +@end diff --git a/Example/Pods/Target Support Files/pop/pop-prefix.pch b/Example/Pods/Target Support Files/pop/pop-prefix.pch new file mode 100644 index 0000000..aa992a4 --- /dev/null +++ b/Example/Pods/Target Support Files/pop/pop-prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ +#import +#endif + diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-umbrella.h b/Example/Pods/Target Support Files/pop/pop-umbrella.h similarity index 100% rename from Example/Pods/Target Support Files/Pods-TabBarPicker_Example-pop/Pods-TabBarPicker_Example-pop-umbrella.h rename to Example/Pods/Target Support Files/pop/pop-umbrella.h diff --git a/Example/Pods/Target Support Files/Pods-pop/Pods-pop.modulemap b/Example/Pods/Target Support Files/pop/pop.modulemap similarity index 60% rename from Example/Pods/Target Support Files/Pods-pop/Pods-pop.modulemap rename to Example/Pods/Target Support Files/pop/pop.modulemap index abb98ee..6197485 100644 --- a/Example/Pods/Target Support Files/Pods-pop/Pods-pop.modulemap +++ b/Example/Pods/Target Support Files/pop/pop.modulemap @@ -1,5 +1,5 @@ framework module pop { - umbrella header "Pods-pop-umbrella.h" + umbrella header "pop-umbrella.h" export * module * { export * } diff --git a/Example/Pods/Target Support Files/pop/pop.xcconfig b/Example/Pods/Target Support Files/pop/pop.xcconfig new file mode 100644 index 0000000..d4a59ed --- /dev/null +++ b/Example/Pods/Target Support Files/pop/pop.xcconfig @@ -0,0 +1,3 @@ +POP_CLANG_CXX_LANGUAGE_STANDARD = c++11 +POP_CLANG_CXX_LIBRARY = libc++ +POP_OTHER_LDFLAGS = -l"c++" \ No newline at end of file diff --git a/Example/Pods/UIView-Overlay/LICENSE b/Example/Pods/UIView-Overlay/LICENSE new file mode 100644 index 0000000..cb47977 --- /dev/null +++ b/Example/Pods/UIView-Overlay/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 lanserxt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Example/Pods/UIView-Overlay/README.md b/Example/Pods/UIView-Overlay/README.md new file mode 100644 index 0000000..af21130 --- /dev/null +++ b/Example/Pods/UIView-Overlay/README.md @@ -0,0 +1,28 @@ +UIView-Overlay +=============== + +Plain and simple UIView category that adds overlay layer with specific color the the sublayers of the UIView. + +##Requirements + +* Xcode 5 (or higher) +* Apple LLVM compiler +* ARC +* iOS 6.1 (or higher) + +##Installation + +Recommended way to install AGToggleFieldSetView is via [CocoaPods](http://cocoapods.org/). Add the following line to your Podfile: + +```ruby +pod 'UIView-Overlay' +``` + +##Usage + +Just call methods methods to add or remove the overlay + +```objc +[view ag_addOverlayWithColor: [[UIColor blackColor] colorWithAlphaComponent: 0.3]]; +[view ag_removeOverlay]; +``` diff --git a/Example/Pods/UIView-Overlay/UIView+Overlay.h b/Example/Pods/UIView-Overlay/UIView+Overlay.h new file mode 100644 index 0000000..48decf8 --- /dev/null +++ b/Example/Pods/UIView-Overlay/UIView+Overlay.h @@ -0,0 +1,17 @@ +// +// UIView+Overlay.h +// Strannik +// +// Created by Anton Gubarenko on 03.07.15. +// Copyright (c) 2015 Anton Gubarenko. All rights reserved. +// + +#import + +@interface UIView (Overlay) + +- (void) ag_addOverlayWithColor: (UIColor*) color; +- (void) ag_addOverlayToTheBackWithColor: (UIColor*) color; +- (void) ag_removeOverlay; + +@end diff --git a/Example/Pods/UIView-Overlay/UIView+Overlay.m b/Example/Pods/UIView-Overlay/UIView+Overlay.m new file mode 100644 index 0000000..c31d0d8 --- /dev/null +++ b/Example/Pods/UIView-Overlay/UIView+Overlay.m @@ -0,0 +1,86 @@ +// +// UIView+Overlay.m +// Strannik +// +// Created by Anton Gubarenko on 03.07.15. +// Copyright (c) 2015 Anton Gubarenko. All rights reserved. +// + +#import "UIView+Overlay.h" + +static const NSInteger kOverlayTag = 1001; +static NSString* const kOverlayKey = @"kOverlayKey"; + +@implementation UIView (Overlay) + +- (void) ag_addOverlayWithColor: (UIColor*) color +{ + CALayer *overlay = [self ag_layer]; + if (!overlay) + { + CALayer *overlayLayer = [CALayer layer]; + overlayLayer.frame = self.frame; + [overlayLayer setValue: [NSNumber numberWithInt: kOverlayTag] + forKey: kOverlayKey]; + [overlayLayer setBackgroundColor: color.CGColor]; + [self.layer addSublayer: overlayLayer]; + } + else + { + [overlay setBackgroundColor: color.CGColor]; + } +} + +- (void) ag_addOverlayToTheBackWithColor: (UIColor*) color +{ + CALayer *overlay = [self ag_layer]; + if (!overlay) + { + CALayer *overlayLayer = [CALayer layer]; + overlayLayer.frame = self.frame; + [overlayLayer setValue: [NSNumber numberWithInt: kOverlayTag] + forKey: kOverlayKey]; + [overlayLayer setBackgroundColor: color.CGColor]; + [self.layer insertSublayer: overlayLayer + atIndex: 0 ]; + } + else + { + [overlay setBackgroundColor: color.CGColor]; + } +} + +- (CALayer*) ag_layer +{ + for (CALayer *subLayer in [self.layer sublayers]) + { + if ([subLayer valueForKey: kOverlayKey]) + { + return subLayer; + } + } + return nil; +} + +- (void) ag_removeOverlay +{ + CALayer *overlay = [self ag_layer]; + if (overlay) + { + [overlay removeFromSuperlayer]; + } +} + +- (void) layoutSubviews +{ + for (CALayer *subLayer in [self.layer sublayers]) + { + if ([subLayer valueForKey: kOverlayKey]) + { + subLayer.frame = self.frame; + break; + } + } +} + +@end diff --git a/Example/TabBarPicker/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/TabBarPicker/Images.xcassets/AppIcon.appiconset/Contents.json index f697f61..36d2c80 100644 --- a/Example/TabBarPicker/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/TabBarPicker/Images.xcassets/AppIcon.appiconset/Contents.json @@ -5,16 +5,31 @@ "size" : "29x29", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "60x60", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, { "idiom" : "ipad", "size" : "29x29", @@ -50,4 +65,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Contents.json index 4458b40..33a0479 100644 --- a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -1,23 +1,53 @@ { "images" : [ + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "iPhone6-Plus-portrait@3x.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "iPhone6-Plus-landscape@3x.png", + "minimum-system-version" : "8.0", + "orientation" : "landscape", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "667h", + "filename" : "iPhone6-portrait@2x.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "2x" + }, { "orientation" : "portrait", "idiom" : "iphone", + "filename" : "Default@2x.png", "extent" : "full-screen", "minimum-system-version" : "7.0", "scale" : "2x" }, { - "orientation" : "portrait", + "extent" : "full-screen", "idiom" : "iphone", "subtype" : "retina4", - "extent" : "full-screen", + "filename" : "Default-568h@2x.png", "minimum-system-version" : "7.0", + "orientation" : "portrait", "scale" : "2x" }, { "orientation" : "portrait", "idiom" : "ipad", + "filename" : "Default~ipad~nostatusbar.png", "extent" : "full-screen", "minimum-system-version" : "7.0", "scale" : "1x" @@ -25,6 +55,7 @@ { "orientation" : "landscape", "idiom" : "ipad", + "filename" : "Default~ipad~landscape~nostatusbar.png", "extent" : "full-screen", "minimum-system-version" : "7.0", "scale" : "1x" @@ -32,6 +63,7 @@ { "orientation" : "portrait", "idiom" : "ipad", + "filename" : "Default~ipad~nostatusbar@2x.png", "extent" : "full-screen", "minimum-system-version" : "7.0", "scale" : "2x" @@ -39,6 +71,7 @@ { "orientation" : "landscape", "idiom" : "ipad", + "filename" : "Default~ipad~landscape~nostatusbar@2x.png", "extent" : "full-screen", "minimum-system-version" : "7.0", "scale" : "2x" @@ -48,4 +81,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a43912d5f9402b3a748b8527c12060aac208d9 GIT binary patch literal 9609 zcmeI&F%AJy5XSL&OGGxd7t!ihr4pot#TBueW55}~2nsJMj_Y^N7JaRjYm%k8~$ z$iJG&eBESz-CX824*ZrcB7vFeM8wNPs@uBfCS|c(x}x?;97+Cae?>ZDqeqK_D&Ae? zqQ|wIZT!J`xV~qqQfoBBl!hg62`E4T3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt n00k&O0SZun0u-PC1t|De1)pAMSE8P`{?R>9iJ4fPN9pMY-V;D$@S7qu+2RO(yzDUw*DhtrjM z-Pb;m^Wi;79@}E>tO^^g_MoC+30wjSP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC i1t>rP3Q&Lo6#P-(u1+I#_&i4Yk8 literal 0 HcmV?d00001 diff --git a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~landscape~nostatusbar.png b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~landscape~nostatusbar.png new file mode 100644 index 0000000000000000000000000000000000000000..582a49501df7969e3885b666593931dd9724f643 GIT binary patch literal 10385 zcmeI&AqoOP6vpv4u8J%UR*}VQ)L_?TWF3T67L#eUn=D4zq_^+{8@zynRS=_BFc|I5 zIpm+d4_rP3Q&Lo6rcbF rC_n)UP=Epypa2CZKmiI+fP%kO;Othv^1rLOLx#1G_?rP4R{6N z1vI!uwnRe&LC2w6kfLY$Klrzo@A-!V=e?>`EBV}VE`*Rz4&$Q`vgtSzvQz2N{M_A1 zkLc{EQVzYx;&TXlA&K|v=h0};NpC{?=Id^8y_?I-%q^7~{dQy!f=!@+0tzUgfC36A zpnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim} z0tzUgfC36Apnw7jD43Xnt>crQE&zZ1t3FWsKmi35Q1HJMT(9iRk86R#TdUcfo-Gu& zPlx?Z#vlZnKmi35P(T3%6i`3`1r$&~0R7> z3Mim}f?uQ{dL7)4Yk~T!t(VQwM)!ZWB$d=;Spa2m6i`3`1r$&~0Rp-##^pDAk+%E* literal 0 HcmV?d00001 diff --git a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~nostatusbar.png b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/Default~ipad~nostatusbar.png new file mode 100644 index 0000000000000000000000000000000000000000..343cb1a929090d6466c6629dd9de0eabb6ed5040 GIT binary patch literal 10386 zcmeI&F%AJy5XSKt%SJXfT9G|~k{hsjvR)!fHWKaXG%AhKs;FE+tJyQ)0J5zkD3p5d z9P+QeFPUyKziv+RGzo)lAR?iim`ucTwJyz?irP3Q&Lo r6rcbFC_n)UP=Epypa2CZK*9eiD9(lYk?4KhsN5%^*l}vgI6wRVrm^up1eKU=t{yfC36Apnw7j zD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUg zfC36Apnw7jD4>7>3Z|xD=j80S3&3Chst?pYP(T3%6wJ1Qn~lBPq!uWAbWZ!pg{Ae~ z_S3MJFbKgWP(T3%6i`3`1r$&~0Rm2y)#1NxGnf>?jVtql3>mA!ip8M8Vw|EuhF~xlS1q#|trl6f zxL_IRM-beCUtxlK(m9;d4(}7s?|Q#hE#?>U5mC%`(|Sa%6EX9an;M?xfC36Apnw7jD4>7> z3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3dW{j{qXp=1>o1e^nvUH1r$&~!DK6VTHcr&Wr0c`CtK}vKE4b_Es<=emUb)6iyy0LD*FHc literal 0 HcmV?d00001 diff --git a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-Plus-portrait@3x.png b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-Plus-portrait@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6746181ef4945f32d21beb267ce44925f596df9 GIT binary patch literal 36014 zcmeI)p-O{M7=YpLSCKKcszbC{YzC7cY~z>tmodgJU`1^jEMl6Xf=#d(S1l_Rqscgo zVpy^W25(@)EqDtP+>_4XoObx0c;1^vy;jVxF9~Kmi35P(T3%6i`3` z1r$&~0RlfP&dp@U*tQG|2*$K8|;;hgY{m5HZ^# zM6r~?RM9A)fC36Apnw7jD4>7>3Mim}0tzUgfC36Apnw7jD4>7>3Mim}0tzUgfC36A zpnw7jD4>7>3Mim}0tzVjI|Y@q(P2cPk)@TE289O2)EX3q&9E6Z3Mim}0tzVjM+yez V`^QMu?_Nfeo=CP^PkYt&#Se&zEo}e* literal 0 HcmV?d00001 diff --git a/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-portrait@2x.png b/Example/TabBarPicker/Images.xcassets/LaunchImage.launchimage/iPhone6-portrait@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..356dad18d5259be06598fec9c71c5abe701c5373 GIT binary patch literal 13186 zcmeI(p$fuK6vpv$CthT@E-Ly8f?%>ZHs&p3ZbrlGHW4g>3I^Z8U|zEeb}{$}7K3)1 z*T)e4=^W124(AuoK8YjGt-B)PnPHHMIB$`1uj1HAcsh=3QS&tNrMNbqBHg|T2IHlA z-8MFn%i)u?AG>6FUaOL>);c*2OW+bvfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>tle=2BceP4)btR}PH>x>EG Ipz!nU7ozoRTL1t6 literal 0 HcmV?d00001 diff --git a/Example/TabBarPicker/TabBarPicker-Info.plist b/Example/TabBarPicker/TabBarPicker-Info.plist index c64aa36..9a6be83 100644 --- a/Example/TabBarPicker/TabBarPicker-Info.plist +++ b/Example/TabBarPicker/TabBarPicker-Info.plist @@ -30,6 +30,8 @@ armv7 + UIRequiresFullScreen + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index ff4ca88..4d0a399 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -64,7 +64,7 @@ [allergen2 setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; */ tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,allergen] forPosition:TabBarPickerPositionBottom]; - [tabbar setItemSpacing:2]; + [tabbar setItemSpacing:0]; [tabbar setBackgroundColor:[UIColor whiteColor]]; //[tabbar addItem:allergen2]; @@ -76,6 +76,8 @@ UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + [contentView setBackgroundColor:[UIColor lightGrayColor]]; + [contentView addSubview:tabbar]; self.view = contentView; @@ -108,6 +110,38 @@ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [tabbar addItem:allergen]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar show]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar hide]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(9 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar show]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(12 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar hide]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(15 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar show]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(18 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar hide]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(21 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar show]; + }); + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(24 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar hide]; });*/ } diff --git a/Pod/Classes/TabBarItem.h b/Pod/Classes/TabBarItem.h index 2dd7858..e5062c8 100644 --- a/Pod/Classes/TabBarItem.h +++ b/Pod/Classes/TabBarItem.h @@ -11,14 +11,14 @@ @class TabBarItem; -/*@protocol TabBarItemDelegate +@protocol TabBarItemDelegate @required - (void) tabBarItemSelected:(TabBarItem*) selectedItem; @end -*/ + @interface TabBarItem : UIView /** @@ -29,6 +29,11 @@ * Represents the image visible in picker when item is selected. */ @property (nonatomic, strong) UIImage *selectedImage; +/** + * <#Description#> + */ +@property (nonatomic, strong) UIColor *highlightColor; + /** * Represents the name of the item that can be shown in picker. */ @@ -38,7 +43,7 @@ */ @property (nonatomic, strong) NSMutableArray *subItems; -//@property (nonatomic, assign) id delegate; +@property (nonatomic, assign) id delegate; /** * <#Description#> @@ -49,5 +54,7 @@ */ - (instancetype) initWithSubItems:(NSArray*) array; +- (void) setHighlighted:(BOOL) highlighted; + @end diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index a328308..d9ef938 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -8,6 +8,7 @@ #import "TabBarItem.h" #import +#import "NSString+HexColor.h" @interface TabBarItem() @@ -29,6 +30,8 @@ _orientation = [[UIDevice currentDevice] orientation]; _itemButton = [[UIButton alloc] initForAutoLayout]; + [_itemButton addTarget:self action:@selector(itemButtonTapped) forControlEvents:UIControlEventTouchUpInside]; + _highlightColor = [@"ff4e50" colorFromHex]; [self addSubview:_itemButton]; @@ -70,4 +73,35 @@ [_itemButton setImage:selectedImage forState:UIControlStateSelected]; } +- (void) setHighlightColor:(UIColor *)highlightColor { + + _highlightColor = highlightColor; +} + +- (void) setHighlighted:(BOOL) highlighted { + [_itemButton setHighlighted:highlighted]; + if ([_itemButton isHighlighted]) { + [_itemButton setBackgroundColor:_highlightColor]; + + } + else { + [_itemButton setBackgroundColor:[UIColor clearColor]]; + } +} + +- (void) itemButtonTapped { + + if ([_itemButton isHighlighted]) { + [_itemButton setBackgroundColor:_highlightColor]; + + } + else { + [_itemButton setBackgroundColor:[UIColor clearColor]]; + } + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarItemSelected:)]) { + [_delegate tabBarItemSelected:self]; + } +} + @end diff --git a/Pod/Classes/TabBarPicker.h b/Pod/Classes/TabBarPicker.h index 78a46c1..3faa1ef 100644 --- a/Pod/Classes/TabBarPicker.h +++ b/Pod/Classes/TabBarPicker.h @@ -28,6 +28,8 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { @property (nonatomic) CGFloat itemSpacing; @property (nonatomic, readonly) NSUInteger subItemPerRow; @property (nonatomic, readonly) CGFloat subItemHeight; +@property (nonatomic) BOOL dimWhenShow; +@property (nonatomic, strong) UIColor * dimColor; /** * Init TabBarPicker with items. When is selected an item the picher show down subitems. @@ -144,4 +146,8 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { */ - (void) addItem:(TabBarItem*) item; +- (void) show; + +- (void) hide; + @end diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 6d98a6b..3b419e2 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -9,20 +9,26 @@ #import "TabBarPicker.h" #import #import "TabBarPickerSubItemsView.h" +#import "MMCPSScrollView.h" +#import #define DEFAULT_SUB_ITEMS_PER_ROW 2 #define DEFAULT_SUB_ITEM_HEIGHT 44 -@interface TabBarPicker() +@interface TabBarPicker() @property (nonatomic) UIDeviceOrientation orientation; @property (nonatomic) NSUInteger subItemRows; -@property (nonatomic, strong) TabBarPickerSubItemsView *subItemSelector; -@property (nonatomic) BOOL show; +@property (nonatomic, strong) NSMutableArray *subItemSelectors; +@property (nonatomic, strong) NSMutableArray *subItemSelectorsConstraints; +@property (nonatomic) BOOL isShow; @property (nonatomic, assign) BOOL didSetupConstraints; @property (nonatomic, strong) NSLayoutConstraint *showConstraint; - @property (nonatomic, strong) NSLayoutConstraint *hideConstraint; +@property (nonatomic, strong) NSMutableArray *tabBarItemsConstraints; +@property (nonatomic, strong) TabBarItem *selectedTabBarItem; + +@property (nonatomic, strong) MMCPSScrollView *subItemScrollView; @end @@ -61,10 +67,15 @@ _layoutRelation = relation; _subItemHeight = subItemHeight; _position = position; + _dimWhenShow = YES; + _subItemSelectors = [[NSMutableArray alloc] init]; + _tabBarItemsConstraints = [[NSMutableArray alloc] init]; + _subItemSelectorsConstraints = [[NSMutableArray alloc] init]; + _dimColor = [[UIColor blackColor] colorWithAlphaComponent: 0.5]; [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; - [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object: nil]; + [[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(deviceOrientationDidChange:) name:UIDeviceOrientationDidChangeNotification object: nil]; NSAssert(items, @"TabBar Items array cannot be nil!"); @@ -75,14 +86,49 @@ _tabBarItems = [[NSMutableArray alloc] init]; for (NSObject *item in items) { - [self addItem:item]; + if (item && [item isKindOfClass:[TabBarItem class]]) { + + [_tabBarItems addObject:item]; + [(TabBarItem*)item setDelegate:self]; + [self addSubview:item]; + } } + _subItemScrollView = [[MMCPSScrollView alloc] initForAutoLayout]; + [_subItemScrollView setType:MMCPSScrollHorizontal]; + [_subItemScrollView setMMCPSDelegate:self]; + [_subItemScrollView setPagingEnabled:YES]; + + [self addSubview:_subItemScrollView]; + if ([_tabBarItems count] > 0) { - - _subItemSelector = [[TabBarPickerSubItemsView alloc] initWithTabBarItems:_tabBarItems andsubItemsPerRow:_subItemPerRow]; - [_subItemSelector setDelegate:self]; - [self addSubview:_subItemSelector]; + int i = 0; + for (TabBarItem *item in _tabBarItems) { + TabBarPickerSubItemsView *subItemSelector = [[TabBarPickerSubItemsView alloc] initWithTabBarItem:item andsubItemsPerRow:_subItemPerRow]; + [subItemSelector setDelegate:self]; + switch (i) { + case 0: + + break; + case 1:{ + [subItemSelector setBackgroundColor:[UIColor redColor]]; + } + break; + case 2:{ + [subItemSelector setBackgroundColor:[UIColor greenColor]]; + } + break; + case 3: { + + } + break; + default: + break; + } + [_subItemScrollView addSubview:subItemSelector]; + + [_subItemSelectors addObject:subItemSelector]; + } } } @@ -157,24 +203,26 @@ [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - [_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]; + [_tabBarItemsConstraints addObjectsFromArray:[_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]]; + + [_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; + + [_subItemScrollView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + [_subItemScrollView autoSetDimension:ALDimensionHeight toSize:343]; + [_subItemScrollView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:[_tabBarItems firstObject]]; + [_subItemScrollView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_subItemScrollView setBackgroundColor:[UIColor blueColor]]; + + } break; } - [_subItemSelector layoutSubviews]; + _didSetupConstraints = YES; [self updateConstraintsIfNeeded]; } - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self show]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self hide]; - }); } - (void) setPosition:(TabBarPickerPosition)position { @@ -194,58 +242,108 @@ if (item && [item isKindOfClass:[TabBarItem class]]) { [_tabBarItems addObject:item]; - //[item setDelegate:self]; + [item setDelegate:self]; [self addSubview:item]; + [_tabBarItemsConstraints autoRemoveConstraints]; - if (self.superview) { - - [self layoutSubviews]; - } + [_tabBarItemsConstraints addObjectsFromArray:[_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]]; } } - (void) show { - if (!_show) { + if (!_isShow) { - _show = YES; + + _isShow = YES; [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; - [UIView animateWithDuration:4 + [UIView animateWithDuration:1.5 delay:0.0 - usingSpringWithDamping:0.6 + usingSpringWithDamping:1 initialSpringVelocity:0 options:0 animations:^{ - [_hideConstraint autoRemove]; + if (_dimWhenShow) { + + [self.superview ag_addOverlayWithColor:_dimColor]; + self.layer.zPosition = 999; + } + switch (_position) { + case TabBarPickerPositionLeft: { + + break; + } + case TabBarPickerPositionRight: { + + break; + } + + case TabBarPickerPositionTop: { + + break; + } + case TabBarPickerPositionBottom: + default: { + [_hideConstraint autoRemove]; + + _showConstraint = [self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:_subItemScrollView.frame.size.height]; + break; + } + } - _showConstraint = [self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:_subItemSelector.frame.size.height]; + [self layoutIfNeeded]; } completion:^(BOOL finished) { // Run the animation again in the other direction }]; } + } - (void) hide { - if (_show) { + if (_isShow) { - _show = NO; + _isShow = NO; [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; - [UIView animateWithDuration:4 + [UIView animateWithDuration:1.5 delay:0.0 - usingSpringWithDamping:0.6 + usingSpringWithDamping:1 initialSpringVelocity:0 options:0 animations:^{ + if (_dimWhenShow) { + [self.superview ag_removeOverlay]; + self.layer.zPosition = 0; + } + switch (_position) { + case TabBarPickerPositionLeft: { + + break; + } + case TabBarPickerPositionRight: { + + break; + } + + case TabBarPickerPositionTop: { + + break; + } + case TabBarPickerPositionBottom: + default: { + [_showConstraint autoRemove]; + + _hideConstraint = [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; + break; + } + } - [_showConstraint autoRemove]; - - _hideConstraint = [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; + [self layoutIfNeeded]; } completion:^(BOOL finished) { // Run the animation again in the other direction @@ -261,4 +359,38 @@ #pragma mark - +#pragma mark TabBarItemDelegate + +- (void) tabBarItemSelected:(TabBarItem *)selectedItem { + for (TabBarItem *item in _tabBarItems) { + if (![item isEqual:selectedItem]) { + [item setHighlighted:NO]; + } + } + + if (!_isShow) { + [self show]; + } + else { + if(![_selectedTabBarItem isEqual:selectedItem]) { + + } + } + _selectedTabBarItem = selectedItem; +} + +#pragma mark - + +#pragma mark MMCPSScrollViewDelegate + +- (void)scrollView:(MMCPSScrollView *)scrollView didScrollToPage:(NSUInteger)pageIndex { + NSLog(@"The MMCPSScrollView is now on page %i.", pageIndex); +} + +- (void)scrollView:(MMCPSScrollView *)scrollView willScrollToPage:(NSUInteger)pageIndex { + NSLog(@"The MMCPSScrollView is now going to page %i.", pageIndex); +} + +#pragma mark - + @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.h b/Pod/Classes/TabBarPickerSubItemsView.h index f1e4252..93dad72 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.h +++ b/Pod/Classes/TabBarPickerSubItemsView.h @@ -24,7 +24,7 @@ /** * <#Description#> */ -@property (nonatomic, strong) NSMutableArray *itemsArray; +@property (nonatomic, strong) NSMutableArray *subItemsArray; /** * <#Description#> @@ -39,6 +39,6 @@ * * @return <#return value description#> */ -- (instancetype) initWithTabBarItems:(NSArray *) items andsubItemsPerRow:(NSUInteger) itemsPerRow; +- (instancetype) initWithTabBarItem:(TabBarItem *) item andsubItemsPerRow:(NSUInteger) itemsPerRow; @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index e957288..ad88b89 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -16,35 +16,23 @@ @property (nonatomic) NSUInteger itemsPerRow; @property (nonatomic) CGFloat itemHeight; @property (nonatomic) NSUInteger rows; -@property (nonatomic, strong) UICollectionView *subItemCollectionView; @property (nonatomic, assign) BOOL didSetupConstraints; @end @implementation TabBarPickerSubItemsView -- (instancetype) initWithTabBarItems:(NSArray *) items andsubItemsPerRow:(NSUInteger) itemsPerRow { +- (instancetype) initWithTabBarItem:(TabBarItem *) item andsubItemsPerRow:(NSUInteger) itemsPerRow { self = [self initForAutoLayout]; if (self) { _itemsPerRow = itemsPerRow; - _itemsArray = [[NSMutableArray alloc] initWithArray:items]; + _subItemsArray = [[NSMutableArray alloc] initWithArray:[item subItems]]; _itemHeight = DEFAULT_ITEM_HEIGHT; _rows = 0; - for (TabBarItem *item in _itemsArray) { - if (_rows < ([[item subItems] count]/_itemsPerRow)) { - _rows = ceil(([[item subItems] count]/_itemsPerRow)); - } - } + _rows = ceil(([_subItemsArray count]/_itemsPerRow)); - [self setBackgroundColor:[UIColor redColor]]; - /*_subItemCollectionView = [[UICollectionView alloc] initForAutoLayout]; - [_subItemCollectionView setPagingEnabled:YES]; - [_subItemCollectionView setDelegate:self]; - [_subItemCollectionView setDataSource:self]; - - [self addSubview:_subItemCollectionView];*/ } [self updateConstraintsIfNeeded]; @@ -71,9 +59,6 @@ [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; [self autoSetDimension:ALDimensionHeight toSize:_rows*_itemHeight]; - [_subItemCollectionView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; - [_subItemCollectionView autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; - [_subItemCollectionView setBackgroundColor:[UIColor redColor]]; _didSetupConstraints = YES; } } diff --git a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h new file mode 100755 index 0000000..d107891 --- /dev/null +++ b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h @@ -0,0 +1,54 @@ +// +// MMCPSScrollView.h +// MMCPSScrollView +// +// Created by Martin on 02-04-13. +// Copyright (c) 2013 Martin Metselaar. All rights reserved. +// + +#import + +typedef enum { + MMCPSScrollHorizontal, + MMCPSScrollVertical +} MMCPSScrollType; + +@class MMCPSScrollView; + +@protocol MMCPSScrollViewDelegate + +- (void) scrollView:(MMCPSScrollView *) scrollView willScrollToPage:(NSUInteger) pageIndex; +- (void) scrollView:(MMCPSScrollView *) scrollView didScrollToPage:(NSUInteger) pageIndex; + +@end + +@interface MMCPSScrollView : UIScrollView { + MMCPSScrollType _type; + + CGPoint _endScrollingPoint; + CGPoint _startDraggingPoint; + NSInteger _pageToScrollToo; + + CGRect _bottomComponent; +} + +// The height of one segment +@property (nonatomic) NSInteger segmentSize; +// The number of segments that represent one page +@property (nonatomic) NSInteger pageSize; +@property (nonatomic) MMCPSScrollType type; + +// Set to true if you want it to fit the screen. +// Set to false if you want to have white space. +@property (nonatomic, assign) BOOL enableFitScreen; + +// Time it takes to scroll to next page +@property (nonatomic) CGFloat scrollingTime; + +@property (nonatomic) NSUInteger currentPage; + +@property (nonatomic, retain) id MMCPSDelegate; + +- (id)initWithFrame:(CGRect)frame andType:(MMCPSScrollType) type; + +@end diff --git a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m new file mode 100755 index 0000000..8f6501b --- /dev/null +++ b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m @@ -0,0 +1,321 @@ +// +// MMCPSScrollView.m +// MMCPSScrollView +// +// Created by Martin on 02-04-13. +// Copyright (c) 2013 Martin Metselaar. All rights reserved. +// + +#import "MMCPSScrollView.h" + +@implementation MMCPSScrollView + +@synthesize type = _type; + +- (id)initWithFrame:(CGRect)frame +{ + self = [self initWithFrame:frame andType:MMCPSScrollVertical]; + + if (self) { + self.backgroundColor = [UIColor whiteColor]; + } + + return self; +} + +- (id)initWithFrame:(CGRect)frame andType:(MMCPSScrollType) type +{ + self = [super initWithFrame:frame]; + + if (self) { + _segmentSize = [self CGRectSize:frame]; + _pageSize = 1; + _type = type; + _scrollingTime = 0.35f; + + _bottomComponent = CGRectZero; + _endScrollingPoint = CGPointZero; + + self.showsHorizontalScrollIndicator = NO; + self.showsVerticalScrollIndicator = NO; + self.delegate = self; + } + + return self; +} + +#pragma mark - ScrollView Position Helpers +// These functions are for getting the right value for the calculations to make horizontal and vertical scrolling possible + +- (CGFloat) CGPoint:(CGPoint) point { + if (_type == MMCPSScrollVertical) + return point.y; + else + return point.x; +} + +- (CGFloat) contentScrollOffset:(UIScrollView *) scrollView { + if (_type == MMCPSScrollVertical) + return scrollView.contentOffset.y; + else + return scrollView.contentOffset.x; +} + +- (CGFloat) contentScrollSize:(UIScrollView *) scrollView { + if (_type == MMCPSScrollVertical) + return scrollView.contentSize.height; + else + return scrollView.contentSize.width; +} + +- (CGFloat) contentSize:(CGSize) size { + if (_type == MMCPSScrollVertical) + return size.height; + else + return size.width; +} + +- (CGFloat) contentSizeReversed:(CGSize) size { + if (_type == MMCPSScrollVertical) + return size.width; + else + return size.height; +} + +- (CGFloat) frameSize:(UIView *) view { + return [self CGRectSize:view.frame]; +} + +- (CGFloat) frameOrigin:(UIView *) view { + return [self CGRectOrigin:view.frame]; +} + +- (CGFloat) CGRectOrigin:(CGRect) rect { + if (_type == MMCPSScrollVertical) + return rect.origin.y; + else + return rect.origin.x; +} + +- (CGFloat) CGRectSize:(CGRect) rect { + if (_type == MMCPSScrollVertical) + return rect.size.height; + else + return rect.size.width; +} + +- (CGSize) setCGSize:(CGSize) size withValue:(CGFloat) value { + if (_type == MMCPSScrollVertical) + size.height = value; + else + size.width = value; + + return size; +} + +- (CGSize) CGSizeMake:(CGFloat) value1 and:(CGFloat) value2 { + if (_type == MMCPSScrollVertical) + return CGSizeMake(value1, value2); + else + return CGSizeMake(value2, value1); +} + +#pragma mark - Custom ScrollView Helpers + +- (BOOL) isScrollViewBouncing:(UIScrollView *) scrollView { + if ([self contentScrollOffset:scrollView] < 0) + return YES; + + if ([self contentScrollOffset:scrollView] > ([self contentScrollSize:scrollView] - [self frameSize:scrollView])) + return YES; + + return NO; +} + +#pragma mark - Scroll to pages + +- (void) scrollToPage:(NSInteger) index { + [self scrollToPage:index withHeight:_segmentSize]; +} + +- (void) scrollToPage:(NSInteger) index withHeight:(NSInteger) height { + [self scrollToPage:index withHeight:_segmentSize andSize:_pageSize]; +} + +- (void) scrollToPage:(NSInteger) index withHeight:(NSInteger) height andSize:(NSInteger) size { + _currentPage = index + 1; + // height is the height/width for one segment + // index is the index of the page + // size is the number of segments that present one page + int value = height * index * size; + + // check if the page where the user wants so scroll to is in the contentSize of the ScrollView + if (!(value + [self frameSize:self] < [self contentScrollSize:self])) { + value = [self contentScrollSize:self] - [self frameSize:self]; + } + + [self setContentScrollOffset:value]; + + if ([_MMCPSDelegate respondsToSelector:@selector(scrollView:willScrollToPage:)]) + [_MMCPSDelegate scrollView:self willScrollToPage:_currentPage]; + +} + +- (void)setContentScrollOffset:(CGFloat) value { + + CGPoint contentOffset = CGPointZero; + if (_type == MMCPSScrollVertical) + contentOffset = CGPointMake(0, value); + else + contentOffset = CGPointMake(value, 0); + + [UIView animateWithDuration:_scrollingTime delay:0.0f options:UIViewAnimationOptionCurveEaseOut + animations:^{ [self setContentOffset:contentOffset animated:NO]; } + completion:^(BOOL finished){ + if (finished) { + if ([_MMCPSDelegate respondsToSelector:@selector(scrollView:didScrollToPage:)]) + [_MMCPSDelegate scrollView:self didScrollToPage:_currentPage]; + } + }]; + +} + +// Scroll forward multiple pages +- (void) scrollPagesForward:(NSInteger) value { + for (int i = 0; i < value; i++) { + _pageToScrollToo++; + } + + [self scrollToPage:_pageToScrollToo]; +} + +// Scroll back multiple pages +- (void) scrollPagesBack:(NSInteger) value { + value++; + for (int i = 0; i < value; i++) { + _pageToScrollToo--; + } + + [self scrollToPage:_pageToScrollToo]; +} + +// Scroll to next page +- (void) scrollToNextPage { + _pageToScrollToo++; + [self scrollToPage:_pageToScrollToo]; +} + +// Scroll to previous page +- (void) scrollToPreviousPage { + if (!_pageToScrollToo <= 0) { + _pageToScrollToo--; + } else + _pageToScrollToo = 0; + + [self scrollToPage:_pageToScrollToo]; +} + +#pragma mark - UIScrollViewDelegate + +- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { + // Keep track when started dragging + _startDraggingPoint = scrollView.contentOffset; +} + +- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { + // Check if the ScrollView is within his bounds + if ([self isScrollViewBouncing:scrollView]) + return; + + // Check is any scrolling is needed. + if ((int) [self contentScrollOffset:scrollView] % (_segmentSize * _pageSize ) != 0) { + // If the user is not dragging the ScrollView anymore. + if (!scrollView.isDragging) { + + int startPoint = [self CGPoint:_startDraggingPoint]; + float lengthScrolled = [self contentScrollOffset:scrollView] - startPoint; + + float numberOfSegments; + if (lengthScrolled < 0.0f) + numberOfSegments = floor(lengthScrolled / _segmentSize); + else + numberOfSegments = ceil(lengthScrolled / _segmentSize); + + int pagesToScroll; + if (numberOfSegments < 0.0f) + pagesToScroll = floor(numberOfSegments / _pageSize); + else + pagesToScroll = ceil(numberOfSegments / _pageSize); + + if (pagesToScroll < 0) { + [self scrollPagesBack:abs(pagesToScroll + 1)]; + }else + [self scrollPagesForward:pagesToScroll]; + + return; + + } + } + + // Content Offset where the user did end dragging + _endScrollingPoint = scrollView.contentOffset; +} + +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { + + // Check if the scrollview is not bouncing. + if ([self isScrollViewBouncing:scrollView]) + return; + + // If the _endScrollingPoint has been set then the user has been dragging the ScrollView. + // So then we can determite what to do. + if (!CGPointEqualToPoint(_endScrollingPoint, CGPointZero)) { + + int startPoint = [self CGPoint:_endScrollingPoint]; + _endScrollingPoint = CGPointZero; + + if (startPoint < [self contentScrollOffset:scrollView]) { + [self scrollToNextPage]; + } else { + [self scrollToPreviousPage]; + } + } +} + +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { + // When the scrolling is done decelerating then reset the _endScrollingPoint + _endScrollingPoint = CGPointZero; +} + +#pragma mark - UIView + +- (void)addSubview:(UIView *)view { + [super addSubview:view]; + + int currentLowestPoint = [self CGRectOrigin:_bottomComponent] + [self CGRectSize:_bottomComponent]; + int viewLowestPoint = [self frameOrigin:view] + [self frameSize:view]; + + if (currentLowestPoint < viewLowestPoint) { + // New lowest point + _bottomComponent = view.frame; + + CGSize contentSize = [self CGSizeMake:[self contentSizeReversed:self.contentSize] + and:[self frameOrigin:view] + [self frameSize:view]]; + + // Check if the contentSize does not corresponds with the pages + if (!_enableFitScreen && !((int)contentSize.height % (_pageSize * _segmentSize) == 0)) { + + // Calculate how much 'white space' is needed. + int currentContentSize = [self contentSize:contentSize]; + int sizeOnePage = (_pageSize * _segmentSize); + int canSomebodyPleaseRenameThisValueIfHeOrSheFindsOutHowToCallIt = ((int)[self contentSize:contentSize] % (_pageSize * _segmentSize)); + + CGFloat value = sizeOnePage - canSomebodyPleaseRenameThisValueIfHeOrSheFindsOutHowToCallIt + currentContentSize; + contentSize = [self setCGSize:contentSize withValue:value]; + } + + [self setContentSize:contentSize]; + } +} + +@end diff --git a/Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.h b/Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.h new file mode 100755 index 0000000..8221266 --- /dev/null +++ b/Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.h @@ -0,0 +1,15 @@ +// +// NSString+HexColor.h +// Seating +// +// Created by Giuseppe Nucifora on 20/10/12. +// Copyright (c) 2012 Meedori S.r.l. All rights reserved. +// + +#import + +@interface NSString (HexColor) + +- (UIColor*)colorFromHex; + +@end \ No newline at end of file diff --git a/Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.m b/Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.m new file mode 100755 index 0000000..4543ed8 --- /dev/null +++ b/Pod/Classes/Vendor/NSString+HexColor/NSString+HexColor.m @@ -0,0 +1,54 @@ +// +// NSString+HexColor.m +// Seating +// +// Created by Giuseppe Nucifora on 20/10/12. +// Copyright (c) 2012 Meedori S.r.l. All rights reserved. +// + +#import "NSString+HexColor.h" + +@implementation NSString (HexColor) + +- (UIColor*)colorFromHex +{ + NSString *hexColor = [[self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; + + if ([hexColor length] < 6) + return [UIColor blackColor]; + if ([hexColor hasPrefix:@"#"]) + hexColor = [hexColor substringFromIndex:1]; + if ([hexColor length] != 6 && [hexColor length] != 8) + return [UIColor blackColor]; + + NSRange range; + range.location = 0; + range.length = 2; + + NSString *rString = [hexColor substringWithRange:range]; + + range.location = 2; + NSString *gString = [hexColor substringWithRange:range]; + + range.location = 4; + NSString *bString = [hexColor substringWithRange:range]; + + range.location = 6; + NSString *aString = @"FF"; + if ([hexColor length] == 8) + aString = [hexColor substringWithRange:range]; + + // Scan values + unsigned int r, g, b, a; + [[NSScanner scannerWithString:rString] scanHexInt:&r]; + [[NSScanner scannerWithString:gString] scanHexInt:&g]; + [[NSScanner scannerWithString:bString] scanHexInt:&b]; + [[NSScanner scannerWithString:aString] scanHexInt:&a]; + + return [UIColor colorWithRed:((float) r / 255.0f) + green:((float) g / 255.0f) + blue:((float) b / 255.0f) + alpha:((float) a / 255.0f)]; +} + +@end \ No newline at end of file From d4dbaff0e77c25f20ff499c5001dead364bc3213 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Fri, 7 Aug 2015 14:34:01 +0200 Subject: [PATCH 07/13] - Fix Elements in ScrollView --- .../TabBarPicker/TabBarPickerViewController.m | 4 +++ Pod/Classes/TabBarPicker.m | 34 +++++++++++-------- Pod/Classes/TabBarPickerSubItemsView.m | 5 ++- .../Vendor/MMCPSScrollView/MMCPSScrollView.h | 2 ++ 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index 4d0a399..1afc83d 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -95,6 +95,10 @@ - (void) viewDidAppear:(BOOL)animated { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [tabbar show]; + }); + /*TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1"]; TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"Peppe2"]; diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 3b419e2..acbce92 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -27,7 +27,6 @@ @property (nonatomic, strong) NSLayoutConstraint *hideConstraint; @property (nonatomic, strong) NSMutableArray *tabBarItemsConstraints; @property (nonatomic, strong) TabBarItem *selectedTabBarItem; - @property (nonatomic, strong) MMCPSScrollView *subItemScrollView; @end @@ -98,6 +97,7 @@ [_subItemScrollView setType:MMCPSScrollHorizontal]; [_subItemScrollView setMMCPSDelegate:self]; [_subItemScrollView setPagingEnabled:YES]; + [_subItemScrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [self addSubview:_subItemScrollView]; @@ -108,7 +108,7 @@ [subItemSelector setDelegate:self]; switch (i) { case 0: - + [subItemSelector setBackgroundColor:[UIColor lightGrayColor]]; break; case 1:{ [subItemSelector setBackgroundColor:[UIColor redColor]]; @@ -119,16 +119,18 @@ } break; case 3: { - + [subItemSelector setBackgroundColor:[UIColor yellowColor]]; } break; default: break; } + i++; [_subItemScrollView addSubview:subItemSelector]; [_subItemSelectors addObject:subItemSelector]; } + [_subItemScrollView setPageSize:1]; } } @@ -138,15 +140,7 @@ } - (void) layoutSubviews { - - /*if ([self.constraints count] > 0) { - - [NSLayoutConstraint deactivateConstraints:self.constraints]; - [NSLayoutConstraint deactivateConstraints:_subItemSelector.constraints]; - for (TabBarItem *item in _tabBarItems) { - [item.constraints autoRemoveConstraints]; - } - }*/ + if (!_didSetupConstraints) { switch (_position) { @@ -205,14 +199,23 @@ [_tabBarItemsConstraints addObjectsFromArray:[_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]]; - [_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; + [_subItemScrollView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; [_subItemScrollView autoSetDimension:ALDimensionHeight toSize:343]; [_subItemScrollView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:[_tabBarItems firstObject]]; [_subItemScrollView autoAlignAxisToSuperviewAxis:ALAxisVertical]; - [_subItemScrollView setBackgroundColor:[UIColor blueColor]]; + //[_subItemScrollView setPageSize:343]; + [_subItemScrollView setSegmentSize:[[UIScreen mainScreen] bounds].size.width]; + + [_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; + [_subItemSelectors autoSetViewsDimension:ALDimensionHeight toSize:343]; + [_subItemSelectors autoSetViewsDimension:ALDimensionWidth toSize:[[UIScreen mainScreen] bounds].size.width]; + + [[_subItemSelectors firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + + [_subItemScrollView setContentSize:CGSizeMake([_subItemSelectors count]*[[UIScreen mainScreen] bounds].size.width , 343)]; } break; @@ -255,7 +258,6 @@ if (!_isShow) { - _isShow = YES; [self setNeedsUpdateConstraints]; [self updateConstraintsIfNeeded]; @@ -377,6 +379,8 @@ } } _selectedTabBarItem = selectedItem; + + [_subItemScrollView scrollToPage:[_tabBarItems indexOfObject:_selectedTabBarItem]]; } #pragma mark - diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index ad88b89..1e502dd 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -55,10 +55,9 @@ }*/ if (!_didSetupConstraints) { - [self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:-(_rows*_itemHeight)]; + //[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:-(_rows*_itemHeight)]; [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; - [self autoSetDimension:ALDimensionHeight toSize:_rows*_itemHeight]; - + [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; _didSetupConstraints = YES; } } diff --git a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h index d107891..ccfd199 100755 --- a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h +++ b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.h @@ -51,4 +51,6 @@ typedef enum { - (id)initWithFrame:(CGRect)frame andType:(MMCPSScrollType) type; +- (void) scrollToPage:(NSInteger) index; + @end From 091bb39d54f203be6b934d63281759f8193539f4 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Fri, 7 Aug 2015 18:29:24 +0200 Subject: [PATCH 08/13] - Fix object --- .../TabBarPicker/TabBarPickerViewController.m | 37 +++++++------- Pod/Classes/TabBarItem.h | 8 ++- Pod/Classes/TabBarItem.m | 31 ++++++++--- Pod/Classes/TabBarPicker.h | 51 ++----------------- Pod/Classes/TabBarPicker.m | 42 +++++++-------- Pod/Classes/TabBarPickerSubItemsView.h | 22 +++----- Pod/Classes/TabBarPickerSubItemsView.m | 30 +++-------- 7 files changed, 86 insertions(+), 135 deletions(-) diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index 1afc83d..692c592 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -35,33 +35,38 @@ TabBarItem *location = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [location setItemName:@"Location"]; - [location setImage:[UIImage imageNamed:@"location_off"]]; - [location setSelectedImage:[UIImage imageNamed:@"location_on"]]; + [location setImage:[UIImage imageNamed:@"location"]]; + [location setSelectedImage:[UIImage imageNamed:@"location_selected"]]; + [location setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; TabBarItem *calendar = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [calendar setItemName:@"Calendar"]; - [calendar setImage:[UIImage imageNamed:@"calendar_off"]]; - [calendar setSelectedImage:[UIImage imageNamed:@"calendar_on"]]; + [calendar setImage:[UIImage imageNamed:@"calendar"]]; + [calendar setSelectedImage:[UIImage imageNamed:@"calendar_selected"]]; + [calendar setHighlightedImage:[UIImage imageNamed:@"calendar_highlighted"]]; TabBarItem *type = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [type setItemName:@"Type"]; - [type setImage:[UIImage imageNamed:@"type_off"]]; - [type setSelectedImage:[UIImage imageNamed:@"type_on"]]; + [type setImage:[UIImage imageNamed:@"type"]]; + [type setSelectedImage:[UIImage imageNamed:@"type_selected"]]; + [type setHighlightedImage:[UIImage imageNamed:@"type_highlighted"]]; TabBarItem *price = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [price setItemName:@"Price"]; - [price setImage:[UIImage imageNamed:@"price_off"]]; - [price setSelectedImage:[UIImage imageNamed:@"price_on"]]; + [price setImage:[UIImage imageNamed:@"price"]]; + [price setSelectedImage:[UIImage imageNamed:@"price_selected"]]; + [price setHighlightedImage:[UIImage imageNamed:@"price_highlighted"]]; TabBarItem *allergen = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [allergen setItemName:@"Allergen"]; - [allergen setImage:[UIImage imageNamed:@"allergen_off"]]; - [allergen setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; + [allergen setImage:[UIImage imageNamed:@"allergen"]]; + [allergen setSelectedImage:[UIImage imageNamed:@"allergen_selected"]]; + [allergen setHighlightedImage:[UIImage imageNamed:@"allergen_highlighted"]]; /*TabBarItem *allergen2 = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [allergen2 setItemName:@"Allergen"]; - [allergen2 setImage:[UIImage imageNamed:@"allergen_off"]]; - [allergen2 setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; + [allergen2 setImage:[UIImage imageNamed:@"allergen"]]; + [allergen2 setSelectedImage:[UIImage imageNamed:@"allergen_selected"]]; */ tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,allergen] forPosition:TabBarPickerPositionBottom]; [tabbar setItemSpacing:0]; @@ -95,9 +100,7 @@ - (void) viewDidAppear:(BOOL)animated { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar show]; - }); + [tabbar selectItem:0]; /*TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1"]; @@ -109,8 +112,8 @@ TabBarItem *allergen = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; [allergen setItemName:@"Allergen"]; - [allergen setImage:[UIImage imageNamed:@"allergen_off"]]; - [allergen setSelectedImage:[UIImage imageNamed:@"allergen_on"]]; + [allergen setImage:[UIImage imageNamed:@"allergen"]]; + [allergen setSelectedImage:[UIImage imageNamed:@"allergen_selected"]]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [tabbar addItem:allergen]; diff --git a/Pod/Classes/TabBarItem.h b/Pod/Classes/TabBarItem.h index e5062c8..6f44352 100644 --- a/Pod/Classes/TabBarItem.h +++ b/Pod/Classes/TabBarItem.h @@ -30,9 +30,13 @@ */ @property (nonatomic, strong) UIImage *selectedImage; /** - * <#Description#> + * Represents the image visible in picker when item is highlited. */ -@property (nonatomic, strong) UIColor *highlightColor; +@property (nonatomic, strong) UIImage *highlightedImage; +/** + * Represents the color of picker item when is highlited. + */ +@property (nonatomic, strong) UIColor *highlightedColor; /** * Represents the name of the item that can be shown in picker. diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index d9ef938..82f8e14 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -9,6 +9,7 @@ #import "TabBarItem.h" #import #import "NSString+HexColor.h" +#import @interface TabBarItem() @@ -31,7 +32,7 @@ _itemButton = [[UIButton alloc] initForAutoLayout]; [_itemButton addTarget:self action:@selector(itemButtonTapped) forControlEvents:UIControlEventTouchUpInside]; - _highlightColor = [@"ff4e50" colorFromHex]; + [_itemButton setBackgroundColor:[@"ff4e50" colorFromHex] forState:UIControlStateHighlighted]; [self addSubview:_itemButton]; @@ -71,29 +72,40 @@ - (void) setSelectedImage:(UIImage *)selectedImage { [_itemButton setImage:selectedImage forState:UIControlStateSelected]; + [_itemButton setImage:selectedImage forState:UIControlStateSelected|UIControlStateHighlighted]; } -- (void) setHighlightColor:(UIColor *)highlightColor { +- (void) setHighlightedImage:(UIImage *)highlightedImage { + [_itemButton setImage:highlightedImage forState:UIControlStateHighlighted]; + [_itemButton setImage:highlightedImage forState:UIControlStateHighlighted|UIControlStateNormal]; +} + +- (void) setHighlightedColor:(UIColor *)highlightedColor { + + _highlightedColor = highlightedColor; - _highlightColor = highlightColor; } - (void) setHighlighted:(BOOL) highlighted { [_itemButton setHighlighted:highlighted]; if ([_itemButton isHighlighted]) { - [_itemButton setBackgroundColor:_highlightColor]; + + [_itemButton setBackgroundColor:_highlightedColor]; } else { [_itemButton setBackgroundColor:[UIColor clearColor]]; } + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isSelected]]); + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isHighlighted]]); + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isEnabled]]); + NSLog(@"%ld",_itemButton.state); } - (void) itemButtonTapped { - if ([_itemButton isHighlighted]) { - [_itemButton setBackgroundColor:_highlightColor]; + [_itemButton setBackgroundColor:_highlightedColor]; } else { [_itemButton setBackgroundColor:[UIColor clearColor]]; @@ -102,6 +114,13 @@ if (_delegate && [_delegate respondsToSelector:@selector(tabBarItemSelected:)]) { [_delegate tabBarItemSelected:self]; } + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isSelected]]); + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isHighlighted]]); + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isEnabled]]); + NSLog(@"%ld",_itemButton.state); + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [_itemButton setHighlighted:YES]; + }); } @end diff --git a/Pod/Classes/TabBarPicker.h b/Pod/Classes/TabBarPicker.h index 3faa1ef..d18589d 100644 --- a/Pod/Classes/TabBarPicker.h +++ b/Pod/Classes/TabBarPicker.h @@ -9,6 +9,7 @@ #import #import "TabbarItem.h" #import "TabBarSubItem.h" +#import "TabBarPickerSubItemsView.h" typedef NS_ENUM(NSInteger, TabBarPickerPosition) { // Informational @@ -91,54 +92,6 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { */ - (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation; -/** - * Init TabBarPicker with items. When is selected an item the picher show down subitems. - * By default when one of more subItems are selected the selected item become selected. - * The picker size is dinamically based the max subitems of items - * - * @param items Represents tab bar items. That array cannot be nil. - * - * @param size Represents the tabbar size - * - * @param position Represents the posizion in the Screen: - * - TabBarPickerPositionLeft : Is positioned in vertical on left of the screen and shows the picker at its right - * - TabBarPickerPositionRight : Is positioned in vertical on right of the screen and shows the picker at its left - * - TabBarPickerPositionBottom : Is positioned in horizontal on bottom of the screen and shows the picker at its top - * - TabBarPickerPositionTop : Is positioned in horizontal on top of the screen and shows the picker at its bottom - * - * @param relation Represents NSLayoutRelation for TabBar layout. - * - * @param subItemsPerRow Represents the number of subItems per single row of subitem picker - * - * @return <#return value description#> - */ -- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow; - -/** - * Init TabBarPicker with items. When is selected an item the picher show down subitems. - * By default when one of more subItems are selected the selected item become selected. - * The picker size is dinamically based the max subitems of items - * - * @param items Represents tab bar items. That array cannot be nil. - * - * @param size Represents the tabbar size - * - * @param position Represents the posizion in the Screen: - * - TabBarPickerPositionLeft : Is positioned in vertical on left of the screen and shows the picker at its right - * - TabBarPickerPositionRight : Is positioned in vertical on right of the screen and shows the picker at its left - * - TabBarPickerPositionBottom : Is positioned in horizontal on bottom of the screen and shows the picker at its top - * - TabBarPickerPositionTop : Is positioned in horizontal on top of the screen and shows the picker at its bottom - * - * @param relation Represents NSLayoutRelation for TabBar layout. - * - * @param subItemsPerRow Represents the number of subItems per single row of subitem picker - * - * @param subItemHeight Represents the height of single subItem. - * - * @return <#return value description#> - */ -- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow subItemHeight:(CGFloat) subItemHeight; - /** * <#Description#> * @@ -146,6 +99,8 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { */ - (void) addItem:(TabBarItem*) item; +- (void) selectItem:(NSInteger) itemIndex; + - (void) show; - (void) hide; diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index acbce92..719f73a 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -11,14 +11,11 @@ #import "TabBarPickerSubItemsView.h" #import "MMCPSScrollView.h" #import - -#define DEFAULT_SUB_ITEMS_PER_ROW 2 -#define DEFAULT_SUB_ITEM_HEIGHT 44 +#import "NSString+HexColor.h" @interface TabBarPicker() @property (nonatomic) UIDeviceOrientation orientation; -@property (nonatomic) NSUInteger subItemRows; @property (nonatomic, strong) NSMutableArray *subItemSelectors; @property (nonatomic, strong) NSMutableArray *subItemSelectorsConstraints; @property (nonatomic) BOOL isShow; @@ -35,42 +32,29 @@ - (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position { - return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:NSLayoutRelationEqual subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; + return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:NSLayoutRelationEqual]; } - (instancetype) initWithTabBarItems:(NSArray *) items forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { - return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; + return [self initWithTabBarItems:items withTabBarSize:CGSizeZero forPosition:position andNSLayoutRelation:relation]; } -- (instancetype) initWithTabBarItems:(NSArray *) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { - - return [self initWithTabBarItems:items withTabBarSize:size forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; -} - -- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow { - - return [self initWithTabBarItems:items withTabBarSize:size forPosition:position andNSLayoutRelation:relation subItemsPerRow:DEFAULT_SUB_ITEMS_PER_ROW subItemHeight:DEFAULT_SUB_ITEM_HEIGHT]; -} - - - -- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation subItemsPerRow:(NSUInteger) subItemsPerRow subItemHeight:(CGFloat) subItemHeight { +- (instancetype) initWithTabBarItems:(NSArray*) items withTabBarSize:(CGSize) size forPosition:(TabBarPickerPosition) position andNSLayoutRelation:(NSLayoutRelation) relation { self = [self initForAutoLayout]; if (self) { - _subItemPerRow = subItemsPerRow; + _itemSpacing = 10; _layoutRelation = relation; - _subItemHeight = subItemHeight; _position = position; _dimWhenShow = YES; _subItemSelectors = [[NSMutableArray alloc] init]; _tabBarItemsConstraints = [[NSMutableArray alloc] init]; _subItemSelectorsConstraints = [[NSMutableArray alloc] init]; - _dimColor = [[UIColor blackColor] colorWithAlphaComponent: 0.5]; + _dimColor = [[@"333333" colorFromHex] colorWithAlphaComponent: 0.5]; [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; @@ -104,7 +88,7 @@ if ([_tabBarItems count] > 0) { int i = 0; for (TabBarItem *item in _tabBarItems) { - TabBarPickerSubItemsView *subItemSelector = [[TabBarPickerSubItemsView alloc] initWithTabBarItem:item andsubItemsPerRow:_subItemPerRow]; + TabBarPickerSubItemsView *subItemSelector = [[TabBarPickerSubItemsView alloc] init]; [subItemSelector setDelegate:self]; switch (i) { case 0: @@ -122,7 +106,9 @@ [subItemSelector setBackgroundColor:[UIColor yellowColor]]; } break; - default: + default:{ + [subItemSelector setBackgroundColor:[UIColor blueColor]]; + } break; } i++; @@ -254,6 +240,14 @@ } } +- (void) selectItem:(NSInteger) itemIndex { + + if ([_tabBarItems count] > itemIndex) { + [(TabBarItem*)[_tabBarItems objectAtIndex:itemIndex] setHighlighted:YES]; + } + [self show]; +} + - (void) show { if (!_isShow) { diff --git a/Pod/Classes/TabBarPickerSubItemsView.h b/Pod/Classes/TabBarPickerSubItemsView.h index 93dad72..c849984 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.h +++ b/Pod/Classes/TabBarPickerSubItemsView.h @@ -11,6 +11,14 @@ @class TabBarPickerSubItemsView; +typedef NS_ENUM(NSInteger, TabBarPickerSubItemsViewType) { + // Informational + TabBarPickerSubItemsViewTypeData, + TabBarPickerSubItemsViewTypeString, + TabBarPickerSubItemsViewTypeButtons, + TabBarPickerSubItemsViewTypeCheckBox +}; + @protocol TabBarPickerSubItemsViewDelegate @required @@ -21,24 +29,10 @@ @interface TabBarPickerSubItemsView : UIView -/** - * <#Description#> - */ -@property (nonatomic, strong) NSMutableArray *subItemsArray; - /** * <#Description#> */ @property (nonatomic, assign) id delegate; -/** - * <#Description#> - * - * @param items <#items description#> - * @param itemsPerRow <#itemsPerRow description#> - * - * @return <#return value description#> - */ -- (instancetype) initWithTabBarItem:(TabBarItem *) item andsubItemsPerRow:(NSUInteger) itemsPerRow; @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 1e502dd..4cb0ff3 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -9,30 +9,22 @@ #import "TabBarPickerSubItemsView.h" #import -#define DEFAULT_ITEM_HEIGHT 44 - @interface TabBarPickerSubItemsView() -@property (nonatomic) NSUInteger itemsPerRow; -@property (nonatomic) CGFloat itemHeight; -@property (nonatomic) NSUInteger rows; @property (nonatomic, assign) BOOL didSetupConstraints; +@property (nonatomic) TabBarPickerSubItemsViewType type; +@property (nonatomic, strong) NSMutableArray *elementsArray; @end @implementation TabBarPickerSubItemsView -- (instancetype) initWithTabBarItem:(TabBarItem *) item andsubItemsPerRow:(NSUInteger) itemsPerRow { +- (instancetype) initWithType:(TabBarPickerSubItemsViewType) type andElements:(NSArray*) elements { self = [self initForAutoLayout]; if (self) { - _itemsPerRow = itemsPerRow; - _subItemsArray = [[NSMutableArray alloc] initWithArray:[item subItems]]; - _itemHeight = DEFAULT_ITEM_HEIGHT; - _rows = 0; - - _rows = ceil(([_subItemsArray count]/_itemsPerRow)); - + _type = type; + _elementsArray = [[NSMutableArray alloc] initWithArray:elements]; } [self updateConstraintsIfNeeded]; @@ -43,21 +35,11 @@ - (void) layoutSubviews { - /*if ([self.constraints count] > 0) { - - [NSLayoutConstraint deactivateConstraints:self.constraints]; - - for (TabBarItem *item in _itemsArray) { - for (TabBarSubItem *subItem in item.subItems) { - [subItem.constraints autoRemoveConstraints]; - } - } - }*/ if (!_didSetupConstraints) { - //[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:-(_rows*_itemHeight)]; [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; + _didSetupConstraints = YES; } } From 6c0f2bbae5483e06e12051f67b3eb6ba8eed004c Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Fri, 7 Aug 2015 18:41:49 +0200 Subject: [PATCH 09/13] - Upgrade Images - Fix Vari --- .../Contents.json | 6 ++-- .../allergen.imageset/allergen.png | Bin 0 -> 1495 bytes .../allergen.imageset/allergen@2x.png | Bin 0 -> 3922 bytes .../allergen.imageset/allergen@3x.png | Bin 0 -> 7130 bytes .../Contents.json | 23 +++++++++++++++ .../allergen_highlighted.png | Bin 0 -> 835 bytes .../allergen_highlighted@2x.png | Bin 0 -> 2061 bytes .../allergen_highlighted@3x.png | Bin 0 -> 3639 bytes .../allergen_off.imageset/allergen_off.png | Bin 1224 -> 0 bytes .../allergen_off.imageset/allergen_off@2x.png | Bin 3278 -> 0 bytes .../allergen_off.imageset/allergen_off@3x.png | Bin 3756 -> 0 bytes .../allergen_on.imageset/allergen_on.png | Bin 1250 -> 0 bytes .../allergen_on.imageset/allergen_on@2x.png | Bin 3417 -> 0 bytes .../allergen_on.imageset/allergen_on@3x.png | Bin 4063 -> 0 bytes .../Contents.json | 6 ++-- .../allergen_selected.png | Bin 0 -> 1491 bytes .../allergen_selected@2x.png | Bin 0 -> 4028 bytes .../allergen_selected@3x.png | Bin 0 -> 7161 bytes .../Contents.json | 6 ++-- .../calendar.imageset/calendar.png | Bin 0 -> 1248 bytes .../calendar.imageset/calendar@2x.png | Bin 0 -> 2784 bytes .../calendar.imageset/calendar@3x.png | Bin 0 -> 4334 bytes .../Contents.json | 23 +++++++++++++++ .../calendar_highlighted.png | Bin 0 -> 757 bytes .../calendar_highlighted@2x.png | Bin 0 -> 1607 bytes .../calendar_highlighted@3x.png | Bin 0 -> 2575 bytes .../calendar_off.imageset/calendar_off.png | Bin 1110 -> 0 bytes .../calendar_off.imageset/calendar_off@2x.png | Bin 2440 -> 0 bytes .../calendar_off.imageset/calendar_off@3x.png | Bin 2375 -> 0 bytes .../calendar_on.imageset/calendar_on.png | Bin 1154 -> 0 bytes .../calendar_on.imageset/calendar_on@2x.png | Bin 2458 -> 0 bytes .../calendar_on.imageset/calendar_on@3x.png | Bin 2536 -> 0 bytes .../calendar_selected.imageset/Contents.json | 23 +++++++++++++++ .../calendar_selected.png | Bin 0 -> 1281 bytes .../calendar_selected@2x.png | Bin 0 -> 2755 bytes .../calendar_selected@3x.png | Bin 0 -> 4379 bytes .../Contents.json | 6 ++-- .../location.imageset/location.png | Bin 0 -> 880 bytes .../location.imageset/location@2x.png | Bin 0 -> 1759 bytes .../location.imageset/location@3x.png | Bin 0 -> 2973 bytes .../Contents.json | 23 +++++++++++++++ .../location_highlighted.png | Bin 0 -> 502 bytes .../location_highlighted@2x.png | Bin 0 -> 998 bytes .../location_highlighted@3x.png | Bin 0 -> 1381 bytes .../location_off.imageset/Contents.json | 23 --------------- .../location_off.imageset/location_off.png | Bin 686 -> 0 bytes .../location_off.imageset/location_off@2x.png | Bin 1509 -> 0 bytes .../location_off.imageset/location_off@3x.png | Bin 1581 -> 0 bytes .../location_on.imageset/Contents.json | 23 --------------- .../location_on.imageset/location_on.png | Bin 688 -> 0 bytes .../location_on.imageset/location_on@2x.png | Bin 1511 -> 0 bytes .../location_on.imageset/location_on@3x.png | Bin 1668 -> 0 bytes .../location_selected.imageset/Contents.json | 23 +++++++++++++++ .../location_selected.png | Bin 0 -> 817 bytes .../location_selected@2x.png | Bin 0 -> 1733 bytes .../location_selected@3x.png | Bin 0 -> 2797 bytes .../Contents.json | 6 ++-- .../Media.xcassets/price.imageset/price.png | Bin 0 -> 1325 bytes .../price.imageset/price@2x.png | Bin 0 -> 3141 bytes .../price.imageset/price@3x.png | Bin 0 -> 5293 bytes .../price_highlighted.imageset/Contents.json | 23 +++++++++++++++ .../price_highlighted.png | Bin 0 -> 785 bytes .../price_highlighted@2x.png | Bin 0 -> 1785 bytes .../price_highlighted@3x.png | Bin 0 -> 3046 bytes .../price_off.imageset/price_off.png | Bin 1125 -> 0 bytes .../price_off.imageset/price_off@2x.png | Bin 2759 -> 0 bytes .../price_off.imageset/price_off@3x.png | Bin 3097 -> 0 bytes .../price_on.imageset/price_on.png | Bin 1207 -> 0 bytes .../price_on.imageset/price_on@2x.png | Bin 3034 -> 0 bytes .../price_on.imageset/price_on@3x.png | Bin 3507 -> 0 bytes .../Contents.json | 6 ++-- .../price_selected.png | Bin 0 -> 1422 bytes .../price_selected@2x.png | Bin 0 -> 3528 bytes .../price_selected@3x.png | Bin 0 -> 5978 bytes .../type.imageset/Contents.json | 23 +++++++++++++++ Example/Media.xcassets/type.imageset/type.png | Bin 0 -> 850 bytes .../Media.xcassets/type.imageset/type@2x.png | Bin 0 -> 1342 bytes .../Media.xcassets/type.imageset/type@3x.png | Bin 0 -> 2057 bytes .../Contents.json | 6 ++-- .../type_highlighted.png | Bin 0 -> 550 bytes .../type_highlighted@2x.png | Bin 0 -> 903 bytes .../type_highlighted@3x.png | Bin 0 -> 1192 bytes .../type_off.imageset/type_off.png | Bin 735 -> 0 bytes .../type_off.imageset/type_off@2x.png | Bin 1234 -> 0 bytes .../type_off.imageset/type_off@3x.png | Bin 859 -> 0 bytes .../type_on.imageset/type_on.png | Bin 747 -> 0 bytes .../type_on.imageset/type_on@2x.png | Bin 1207 -> 0 bytes .../type_on.imageset/type_on@3x.png | Bin 886 -> 0 bytes .../Contents.json | 6 ++-- .../type_selected.imageset/type_selected.png | Bin 0 -> 808 bytes .../type_selected@2x.png | Bin 0 -> 1358 bytes .../type_selected@3x.png | Bin 0 -> 1896 bytes Example/Pods/Pods.xcodeproj/project.pbxproj | 24 ++++++++++++++++ Pod/Classes/TabBarItem.m | 23 +++------------ .../UIButton+BackgroundColor.h | 15 ++++++++++ .../UIButton+BackgroundColor.m | 20 +++++++++++++ .../UIButton+BackgroundColor/UIImage+Color.h | 15 ++++++++++ .../UIButton+BackgroundColor/UIImage+Color.m | 27 ++++++++++++++++++ 98 files changed, 290 insertions(+), 89 deletions(-) rename Example/Media.xcassets/{price_on.imageset => allergen.imageset}/Contents.json (70%) create mode 100644 Example/Media.xcassets/allergen.imageset/allergen.png create mode 100644 Example/Media.xcassets/allergen.imageset/allergen@2x.png create mode 100644 Example/Media.xcassets/allergen.imageset/allergen@3x.png create mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/Contents.json create mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted.png create mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@2x.png create mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@3x.png delete mode 100644 Example/Media.xcassets/allergen_off.imageset/allergen_off.png delete mode 100644 Example/Media.xcassets/allergen_off.imageset/allergen_off@2x.png delete mode 100644 Example/Media.xcassets/allergen_off.imageset/allergen_off@3x.png delete mode 100644 Example/Media.xcassets/allergen_on.imageset/allergen_on.png delete mode 100644 Example/Media.xcassets/allergen_on.imageset/allergen_on@2x.png delete mode 100644 Example/Media.xcassets/allergen_on.imageset/allergen_on@3x.png rename Example/Media.xcassets/{calendar_on.imageset => allergen_selected.imageset}/Contents.json (66%) create mode 100644 Example/Media.xcassets/allergen_selected.imageset/allergen_selected.png create mode 100644 Example/Media.xcassets/allergen_selected.imageset/allergen_selected@2x.png create mode 100644 Example/Media.xcassets/allergen_selected.imageset/allergen_selected@3x.png rename Example/Media.xcassets/{type_off.imageset => calendar.imageset}/Contents.json (70%) create mode 100644 Example/Media.xcassets/calendar.imageset/calendar.png create mode 100644 Example/Media.xcassets/calendar.imageset/calendar@2x.png create mode 100644 Example/Media.xcassets/calendar.imageset/calendar@3x.png create mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/Contents.json create mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted.png create mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@2x.png create mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@3x.png delete mode 100644 Example/Media.xcassets/calendar_off.imageset/calendar_off.png delete mode 100644 Example/Media.xcassets/calendar_off.imageset/calendar_off@2x.png delete mode 100644 Example/Media.xcassets/calendar_off.imageset/calendar_off@3x.png delete mode 100644 Example/Media.xcassets/calendar_on.imageset/calendar_on.png delete mode 100644 Example/Media.xcassets/calendar_on.imageset/calendar_on@2x.png delete mode 100644 Example/Media.xcassets/calendar_on.imageset/calendar_on@3x.png create mode 100644 Example/Media.xcassets/calendar_selected.imageset/Contents.json create mode 100644 Example/Media.xcassets/calendar_selected.imageset/calendar_selected.png create mode 100644 Example/Media.xcassets/calendar_selected.imageset/calendar_selected@2x.png create mode 100644 Example/Media.xcassets/calendar_selected.imageset/calendar_selected@3x.png rename Example/Media.xcassets/{price_off.imageset => location.imageset}/Contents.json (70%) create mode 100644 Example/Media.xcassets/location.imageset/location.png create mode 100644 Example/Media.xcassets/location.imageset/location@2x.png create mode 100644 Example/Media.xcassets/location.imageset/location@3x.png create mode 100644 Example/Media.xcassets/location_highlighted.imageset/Contents.json create mode 100644 Example/Media.xcassets/location_highlighted.imageset/location_highlighted.png create mode 100644 Example/Media.xcassets/location_highlighted.imageset/location_highlighted@2x.png create mode 100644 Example/Media.xcassets/location_highlighted.imageset/location_highlighted@3x.png delete mode 100644 Example/Media.xcassets/location_off.imageset/Contents.json delete mode 100644 Example/Media.xcassets/location_off.imageset/location_off.png delete mode 100644 Example/Media.xcassets/location_off.imageset/location_off@2x.png delete mode 100644 Example/Media.xcassets/location_off.imageset/location_off@3x.png delete mode 100644 Example/Media.xcassets/location_on.imageset/Contents.json delete mode 100644 Example/Media.xcassets/location_on.imageset/location_on.png delete mode 100644 Example/Media.xcassets/location_on.imageset/location_on@2x.png delete mode 100644 Example/Media.xcassets/location_on.imageset/location_on@3x.png create mode 100644 Example/Media.xcassets/location_selected.imageset/Contents.json create mode 100644 Example/Media.xcassets/location_selected.imageset/location_selected.png create mode 100644 Example/Media.xcassets/location_selected.imageset/location_selected@2x.png create mode 100644 Example/Media.xcassets/location_selected.imageset/location_selected@3x.png rename Example/Media.xcassets/{type_on.imageset => price.imageset}/Contents.json (71%) create mode 100644 Example/Media.xcassets/price.imageset/price.png create mode 100644 Example/Media.xcassets/price.imageset/price@2x.png create mode 100644 Example/Media.xcassets/price.imageset/price@3x.png create mode 100644 Example/Media.xcassets/price_highlighted.imageset/Contents.json create mode 100644 Example/Media.xcassets/price_highlighted.imageset/price_highlighted.png create mode 100644 Example/Media.xcassets/price_highlighted.imageset/price_highlighted@2x.png create mode 100644 Example/Media.xcassets/price_highlighted.imageset/price_highlighted@3x.png delete mode 100644 Example/Media.xcassets/price_off.imageset/price_off.png delete mode 100644 Example/Media.xcassets/price_off.imageset/price_off@2x.png delete mode 100644 Example/Media.xcassets/price_off.imageset/price_off@3x.png delete mode 100644 Example/Media.xcassets/price_on.imageset/price_on.png delete mode 100644 Example/Media.xcassets/price_on.imageset/price_on@2x.png delete mode 100644 Example/Media.xcassets/price_on.imageset/price_on@3x.png rename Example/Media.xcassets/{allergen_on.imageset => price_selected.imageset}/Contents.json (67%) create mode 100644 Example/Media.xcassets/price_selected.imageset/price_selected.png create mode 100644 Example/Media.xcassets/price_selected.imageset/price_selected@2x.png create mode 100644 Example/Media.xcassets/price_selected.imageset/price_selected@3x.png create mode 100644 Example/Media.xcassets/type.imageset/Contents.json create mode 100644 Example/Media.xcassets/type.imageset/type.png create mode 100644 Example/Media.xcassets/type.imageset/type@2x.png create mode 100644 Example/Media.xcassets/type.imageset/type@3x.png rename Example/Media.xcassets/{calendar_off.imageset => type_highlighted.imageset}/Contents.json (66%) create mode 100644 Example/Media.xcassets/type_highlighted.imageset/type_highlighted.png create mode 100644 Example/Media.xcassets/type_highlighted.imageset/type_highlighted@2x.png create mode 100644 Example/Media.xcassets/type_highlighted.imageset/type_highlighted@3x.png delete mode 100644 Example/Media.xcassets/type_off.imageset/type_off.png delete mode 100644 Example/Media.xcassets/type_off.imageset/type_off@2x.png delete mode 100644 Example/Media.xcassets/type_off.imageset/type_off@3x.png delete mode 100644 Example/Media.xcassets/type_on.imageset/type_on.png delete mode 100644 Example/Media.xcassets/type_on.imageset/type_on@2x.png delete mode 100644 Example/Media.xcassets/type_on.imageset/type_on@3x.png rename Example/Media.xcassets/{allergen_off.imageset => type_selected.imageset}/Contents.json (68%) create mode 100644 Example/Media.xcassets/type_selected.imageset/type_selected.png create mode 100644 Example/Media.xcassets/type_selected.imageset/type_selected@2x.png create mode 100644 Example/Media.xcassets/type_selected.imageset/type_selected@3x.png create mode 100755 Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.h create mode 100755 Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.m create mode 100755 Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.h create mode 100755 Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.m diff --git a/Example/Media.xcassets/price_on.imageset/Contents.json b/Example/Media.xcassets/allergen.imageset/Contents.json similarity index 70% rename from Example/Media.xcassets/price_on.imageset/Contents.json rename to Example/Media.xcassets/allergen.imageset/Contents.json index bf3f4e9..16e9e2b 100644 --- a/Example/Media.xcassets/price_on.imageset/Contents.json +++ b/Example/Media.xcassets/allergen.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "price_on.png", + "filename" : "allergen.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "price_on@2x.png", + "filename" : "allergen@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "price_on@3x.png", + "filename" : "allergen@3x.png", "scale" : "3x" } ], diff --git a/Example/Media.xcassets/allergen.imageset/allergen.png b/Example/Media.xcassets/allergen.imageset/allergen.png new file mode 100644 index 0000000000000000000000000000000000000000..718ebc26237964a18be8162f96010498c76a2eab GIT binary patch literal 1495 zcmV;|1t|K7P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1$;?FK~zW$?Nw`R6jd0V_wMZMcDE&hP%NT9 zMBTo&ZGtu+B|;-&DlhR7jV1oU5Fx~1L=&qiQ8Y0SBBT;+Oc05RJWPZdNukyRwRCs( z(NcZ@>~n6< zsk%CIZq?jVxg^>5adU>K+1A!pCr#6pJjW9v3S)jNWBqz%_)0ZT@fALw?=8_K-iw@N zu+F%6@nQ;=@9pgD^kl(v`#iFimKI))%AW*k0tZdTyrAp4jXV&t%kg;p?ELEa12%2{ zl-AN$RaM;rNmt?u2(xC-I_?ymml4Fdp3^-)!@29*+uMC(3G-wOMuV?-CGTzkPyqkZ zw(KFd$Nh3V6<_b59mO<9KWXabKq{4LhAE~YkQRr-Q3B%AIAP49ES{m6s-nW8Vq6ay z_wFU!yD%ZmI~gQeNG1SA(G0x+7qxkKXm}B8u}|QRHA|xO2&OHHqg;YR*zb0`OH#?y z$EE(#hw;C%++W^c=!PGAHemmQF1PCdj8sA}^T>VB|dx(ic&T7ZE_xDl02TN=r+(C-vkS(J9_1h{8K$JWobwJq=QQ z&$GN=Nh^&U#og`T9d!sIX5+`C%>wK@>~VRHjVhz>vo?Dajy;5&a_LlhHEjO_0nWBi zB=jRovyUc>!~=OJLqyjyTILxT;Ca~lId6e?8}ia1xung=$pSNNZo!Gm@k}uma|GZW zNiDe?Io3r<{5l$qK9waRJ!3P6Ahjg%Qa%|9?K;6J>_Vh6$fl7EL_S!YVpygOrkDXe zJgDvz2yT%13V%g=LQO13ebnH{eZg?>X);b4$8k4EVEA+V?PSn>ZGpF7hfUd2;I2{R zW2vGlUx4V0p4N}SSxfzXzl=(8%^^4l*8Sv%v_M(lgsQ2_P&<4|9QLjbnkI|*6$j-dAw)rp;5~A z^k3+=<0fvaF=v?p4rYx<|i?K#6~umUZ(4a*orH7OY!8vJ&6aCj%#e@jN>YMw$V zeYNF(NjDaJqUWwySBZ;uZG$P6k-VUW4xxImkkOY;r!#3Iy(^Q-yos+u@;2E-V3Qs1 x4tGC>ySUggE%J@iK`2A&Bg9OT#rSWp`vV+0zSC(Np3?vT002ovPDHLkV1o3|(rEwy literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen.imageset/allergen@2x.png b/Example/Media.xcassets/allergen.imageset/allergen@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7bef1158afc071a2954895206085324c254f58c6 GIT binary patch literal 3922 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen.imageset/allergen@3x.png b/Example/Media.xcassets/allergen.imageset/allergen@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8589f5e3e04f0e9c76d325fa9c98abd10d1acf3a GIT binary patch literal 7130 zcmV<08ztn4P)Px#32;bRa{vGqB>(^xB>_oNB=7(L8-GbeK~#7F?VJgGRMox5@9azVu!NwXs33%d zY;4N%uu7p=6hZQ;J_@LX7K(jVab<}FE!O(1SWw)sPYbPBp!HQNRirAbNytJ7QXdvY zQ50gBWcH=s|0Q>r878Z2_QT;bx%ZxX*5CQ>=Uf!!TsnuqIRwrja1McU2%JM88i7zK zq%STmHgeTPzd1cmXQb1UIW+;Uw6b)N$zVFq>+)_LJb3WuZE0VC*XeY@wv=tHjJ~x3 zXY+djaQpV{Id-#sd3tL4T6>~>_V(KComv}nX=&-j4p%($dnF812TZo__jiV^h&~U%pi!suWmNKE!6U zt*}@vQ2^@o`jF4-+Xgt(vIb_AMw{);G|5t1)dE6HdyD)n{s9|rxwFAg3& zcq~(W)4o3)M!$XCeDl&O1y+<^ZZ%t%L4~;r&Ar03Ltl|=_bXa%*rXui2|^ys;aL+XIP;#=te?+VG2Z!Dn5^| z#$)hIE9hHLdNSsB*2zSny2{GRgviO6LZ+^IMel^#0t_#nK<4J=zJ(T^hvL`_I3WQt z7z(}#OaC+{Cz=9lDr)*u?tegjKD@!v@H%;SM1lmcBlJf7d??Th7Y*?(o*zNzj}QY`lCZ1*0UQ4c zHheS|v`7$k?b?+~*~g*469M#i%6taj?A$)NQ2>hOrj74l>a6eIzki#87Lk2M-k))q z2!P#T!F#MWYZyQoAXKO-5KNTYpwKCARK5|VY_v%L;2;28s?+OE0MO-el{#FGIk5oN z*4Fkx?*0OU{mGCnG!J*Mo7P@Ou4fd)*Is)q8Pzr=Au(Zs1Q24A0BJB9%uv{!nYv6> z&c&AT`~BAhmEdLKeF){UAd1~?SDY^AN{8Dqc}T&Kt&w#Q2j4>}t)k6|(mrC^chxGev&e@2!U04ZBSUZLbmzY?^_$jG=1S$yTzty?XT<=c9HMnPl}DX`&% z0#r*W5DbVh)-OFhy-RGl0Rsl?3k5@xyKeB91P0ja0hR|a4 zRTw}hQb|ruR*uviS!dK6-`ucagD{EENCs52HweW5@BkO+?AIO))NzD~kT+twdgGF@)#n2`Tfr+DH~=%GC7Kk{K&zr~y-*StkbJ=VH#Z zlmI}%$gcMpeXf?u#lFLg`F=N?Cls;P?ee9?@@ci=2FPqDU zl;511lDYud*3V=#-8yU7tR+myaL{{jA5CsVL$=tm)nZjb{?N{SHT&9Z&uuN;T7U*# zXf~Sj=qn1q`uh5{u142nTx zJ~AeEOe5~wTMf>J`sSz+R#b>qe}vK~i;Y%CP9*l;YOwAz=ne1t1Ad>hEi$lkr_PF_ z(eaAQ@0y1fbW#A6eovW9T(M$>seAYCSF?|?2-mGEAgc2e+f0B&$j{hWxzq36?=4m? zP?oacG+*33VL2^{&4)p(IO-kGp~1r*$Gh*oo0gQ6lt)|L0NKa8kBB8k1y=L(^S|D< zZQBFZ1gpr>TQa(4n7%sv)hq13%rDG|4%}+}b@bYzu>ylLWegZ+^e;Fr?_@Vm-m?%#D0@-?ly*;v zOg!(r^Adulpa^v7qou@*LKpQ)>NOk_<&eYgcnG`g@#K_b2|R3d>)kU|04ply7!~7U zWN8kKSw$p>VJ%nfUYLqKRve3Q}KLCKt$FV*x#_VG+}Kr_|6vSDNTE3=k37O_qIxSsth~tyV!^K;}drk z0Gms)Zz4W33T#8&;kqIyE{CnqU$fOv-&~!Ong5NoGeH4sTIaNDu;UJ)5jV-;2w!=8 ze&0dtv|dWfZn1*fCwv&zJWVX;n>ll)9uO}@Mt0G*N2Tq^B#|5WIo-~e+=}~APn~D~ z@ZrN9v=O&gsQOZXPQfiasnP9k1me=ymReHMQf6TXK7avx0O3D1uYcZ-BS(%nQ&Us- z7!AhDy-L(Ugh&k3z$+B{C2U_6_2Sq=5Eg#P<#vrnJd8$RM6q&0LV|*Qxt09l!(ScV zGHTSQMos3eT)EPU$@3kk_bP+QP@oIxF2-xI;DZ}EdZMeYsrE6p5H_k9`&Isse=`be z6V(54oN=_8)nV=2M1ixD6O$LCO+{OVpuW9|L7A4DmAg$`u8eLOuO2>pxY&C>_8BNA6 zO(sYfBcUc%{ZFvaBqpFz5*|hd<;U^dlh|JnHgv)6f5%*@CU6?+*|XN1U&S{R`O!{XOi`O#@OWmixcCbgrp`vIc#@p2sDu{$ld41wa#&q_rc8 zLk=o!CvWklO`A5(nKQ>rnUDauV8MdNFw$;ihp#zHKpLVoiK9gu+2kQ6)y*&gJ}wUQ z9Yhh86Xd-fUt8qm@qvX$*iJi9sL+;Z8=R7y(h`6QRHhH=f`tS_N8%;?onsqC2=Pya z`Tz=fAN=cA?yqhFz(d6Q#)J4423*9rEPy4G3jYAxfC)5&U*DvhB=FOP%J-CaUs$~G zRZO2bfO7(Xlo85yu#o>p_@b|+-_&o*g4PtbE|KnYw=xo0RZhPXKQQ6NDi zdd4-7-&=4)FUA%Z?6{dU7B^ucBmlrdJc_yEnl+aIN<50MnZy#p_YX@sPNWWpRbOJ@ zwM3wAEGa2Dy5Rl=*XWG8XEBA+X*X_j)Cr=Y|A!#NFOY#pBr?>aXOC65j1yxy0U(3} zob>%HjV;9s`Y3LrF`2S(mAfma>4W;YQ0GO^WmE)RosU285#_Fu?TDD_?ekcWfqEvL zL}Rh-L_MqT83=N%yY^z>z=2yh1DM-*wDG33Yu7sF&6_s?O}-Lix>*2)a#0}VQ1TxH zK#5KE=+Wa5z`7jezX+gt@e&m+83VDq^BGclQ50D1T;9#TAPQA-{G^x3Vwy_i<^m}nx8YVYbNc7Zg_5Tu20oQBXo)-p>K~Dqn0T)& zrj{?)c7cdyWQV5(>p8MzBsVTyT+e|4IT_&ROf(YY$l9tWLVq=WqhIwdD)v-dfVQ3n zduPV7u~tzcM#$^w09k^py|AM|LdAc^le&?GIshw&$H;h4N1?d{MdZXq7~yt-xOeYf zk4b0R7`Z~)1R}5Uo_`KN+!>j#-9uUL;L6>EiBk(@g$JpMHh_pG$mqm&q<)cTBDtJp%5ECWDG@DfhT3^jw3kDRt<5PTh!6|i-Ww1jHjBnBF zufHCq#&&^-KkIXOU7K;YK2~K=Wa|<4vU(8WC;J`yUyaC)x)l~B*!n{h!7eEuxiBIN zJwDF?amAz(3au~qqo6`Dq}6t$eFyIw51Q~$hPZ4IoUZ^^6q#1TvAt(*nfwQ99Gg&({4Z!mf(V3(orBk-uUqyh>?Rd z8|E0{24b7H%e>V7OWc?0rfM^6V>J*#S} zt_GMztl*1)yU}j2ufqUeSYBB^$z${!f*Olp@8_7jm=E>H9v60IrD#|&X~_Ey0f$bS z5|XGl6tRYKve^{exPRkqUcdK$;{lnPocaSoWsCRh+0(ltK#sd@oQJ-aV>^YZk#=OU zN3YqmMh+A(-3}%iGQnn#u@N+lV;o{X3dMQYGg-5@X74R%F&*Z}NJwfPKK4lI7z!1T zRca$#ruIw#q6`YVyCApVt<9yIFHW>1PDILe59))j;k*8g!0KRZ%jImF7Rom(vQYTr zK9|!q4VQ71HvHn3i_Md=Cp`uQPb1GR{Yhf->Mq~c^JVS?{JB2bUpguhZjKcM_8_{%<*vKk`5?7U1m*1J6oxhqok7#A&O1W%UG7}}F zX3O9m4UP{ubGRq6TyascH#3y^-$QDKpoI+6Q2=&XSYd5;`2@%!fYn#+t(reT84y)B zvYmMMV}^}6RK2TO!gVA0sVuCv9pp%JDD?J;LM>h^&E&~G@F$;rGS}z!J&D|SW!byS zQ~>+-?K>4PmgAP`Tk>qAS=lBau>Zbz6IeNd5vt<3+OYAB38{T{G zy(Fy+Y~7UrYS=#(8O#Fhg+ime3az|Y5X-kLzk>-r3$-+AGFt;ODIw{4zQ|gPL7t`6 zY0H(ic0=9A*ntYNsQBbvrEZ5PQ7m@k;Y44+_fyRc;*gS?4fQ@W{va}|%>Zf>5FqUd z_HG<-T9lHKB5b23PK>2U@K&Ql0R<|n(euz_N~uae+PEvGqFI5)~5Z5 zM50P$A6u)_+7);55R@1tOEG;^8@1gaG8rS(b|Y-Hn$<0_C)sCdKr-2XGML{II&w6z zU29_tzZY--60M_r9M0s1{v?I7ph5+k@t{y#I5W;ov98#^ZS%IfXz%G*))pX>laeQj z9a&z}Hi~3?&0^K;i#X#_iV1~5fl~;?iM%t>uI%a+v#N8*?+Um_KK=C5`6z)EOuWrN zHjOWcpS*<)uX_;>f6@8}w5ZU&2y}iKG8U~&b5{X+bHB}ZLy=F#qev`>>#Ta~;_`pA z4kYzes*BfGn?aO8Pna;_hXf6lF=?B~J8{Yp{1%?)a=fFDbTDSjn8rhg4n5%ZxmRFF zIAlAsr6k%Gpm5+q?{U4KP}AQd%ad16Uw*D?wooPgoj-Q$Sk*?0EF14$RW|*%-$S(h zsaT2>&qjc>1#OEl$kn~?cx_0Y(Q51r=S7)>;HsWZZ4-#2MvXEOd6|mm@Pr1SG|att z4j%mE7wi0W)siO(`Pk4{-?#|P{2R2|0g-6}rm(ow5#aE6)U!5#;zmil2DQuwz;}+d zaQrWm-$y(#?AA3AL{|=s#{HV$c+KN?0_6JI_4kpp99uO?Yhypk7yH+-*)N_=vp}Lm zh9eWBsGqs07D80!@otabNf@5kpM;s3aWcvSv)OwXQSiAh=zEX7>6PqR|3m7xh1|~!Shvk1S;sG zSy>g^UXiZIiyJvFvxnfXgn^U?`2<9O4BCPU$|mXrEsFDeiVUW|@ZoadCN{EmNZlwN zmkce*zH*l?T^?rzZlRQ+iH%eWgeAV_81EeRm&Nfvt~#~KC-Exh9EV;$^jS8>Bv7HY zETVyJ*-ZgMU}j#wyuBUi4uktYG4PiHM${1%5j_yg?gm%GorJ?)m$v!fXcZVt=2j&- z<}6mjKK5<;iNg^WL~;6Y+vF>yo2d|vA_J(fLVds&_$eeWerublKnBy%geNltdvOtR zG(&)tNdTl5Uw9UB^tU`mc@k~vhZsWj?&`@hN$u4=dT0A zD8Jd`_bkD0zK_0-g>oW0m6Zp;C#ZA+fHdsD=$w5z0hF;d`Wx3{*i>k?r^qFKW}bgW zlt^{GBInSidx$AJD|-!r*ICT#un>rr#8pLR_QOSd++a350v6%_KSvgjg=}R1XoUbM zb&l8MLClz8!-g%R(sUY)qCh%ofC_(Hm{%x)%F{xDGC)bga)%v)QeMRvKcoRE5gp`o z4u1C{Y*dk1?M?zhURK^Kex3ivSP@4effNr4g_wm_9!$ewoYek9%JcdC^8cxI7=9@Q zCrz64Bn?lC1rQn0$lCuXFDLK!0DM{j)CS6bVfA~cPYu#)d7|jpg&WHh7qX`kKAxw& zZ_8DH%+JdIBUZ)?+}N)pfs{y-P`#EYD_`y(CjU__Pp&G6V#Y9tXLy>*&!ou*X;2JQ zZ^(Pg;s+M5p^-BJpbS(_y5b2v#w0!znI)--t&NyoH!!xBFsFK}FWUJ>fJDBnW8OEx zs-HAhUGRYY?_+CYe`Fc4dvtOf1J;;=9c0pcY^gw_V*5>BlD*^=?c`Nt<$oDT#d7PdS zsPMDcwp0)$5GrvztI_(LtSkfZA_H$+_sY6Ip={c3KE(ENlAqDYoiVuY2DsZ0{$`O~ zS`r|I5Kt7Kvj_A!a`%Cz=U zQd8s`z$aZnSINMvfpI;gFx{?vd!;qMYyJ(mSW9Vm>iR#f|MS@hpf))<)DBob;JJi2 zWV%GiBa?8G0LuTusY4>u~z>=$W zuNL5slvR&1H#B?(1>Zq?Zvx;~+WUCdC=lZnINS38K}VFko55=MF53%tvCW`HtL3nK zEI=*IMW_y&Q@+}VSVPMw`y^uS!`6bo(&o1wL=70(vgp&NPZxk2jhvjo%&sANt;54o zw@s0eQJ|v9)d-HTyx5y;!EUAQYdo+0%=Ou)qX&*|^XD7?HXufViAYK$B9j0p*@V(Y zA>A^tH2NVY?d(g-DP0rxaB0vNlz8A?C~y-p^$2pY5!Q_su3Ez_T>tGrjGSv|a>%gZ z)(uuRrsNQk2`UTE7jw>w(H>ws!!J9Qk@e2qpF`jr0_PAohrl@m&L{%^0;jt4X4SCH QLI3~&07*qoM6N<$f-RG{H~;_u literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/Contents.json b/Example/Media.xcassets/allergen_highlighted.imageset/Contents.json new file mode 100644 index 0000000..3f4ccd5 --- /dev/null +++ b/Example/Media.xcassets/allergen_highlighted.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "allergen_highlighted.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "allergen_highlighted@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "allergen_highlighted@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted.png b/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f3a2fcfaab52882d3d828ef2afa16fb5cd26fd GIT binary patch literal 835 zcmV-J1HAl+P)Px#32;bRa{vGqB>(^xB>_oNB=7(L0_aIZK~zW$?bcmr&2b#Z@f|j^%`8*sG!`~i zyI^UuTzF_6E@;g|i(-_ATu=%zH(Dzu7alG=mJ7;6$As7;Glwi~u_ zyg$e9d;HF^L;rT}_|~i6^Y3^5zyI&|-_p|lN0J?gL?T;IZq4K;VX&1`mNIDr6o)h^ z=@N8dQz{opXTk$eoJS^>qX*AXI^e~aBm>nLiZi$XEo=)tAzzS+g*545C>o)%tVS;$ zA&hbv(1J`*0gLZsrfEXb<9LWMn1N1c;hew=GDurihQ;us+AXH1%g0=N#3#%{D9~aI z7=lyi#%8>Q;yuQq0HfTZ`^kU6>_CfHX9m{5;w71tc!4!I278i&=x$~vL?A)lciTH?3I@-*y*MT<31p?W>RS7__>>vhaEnNDks z^|h3`MbMpWvbwmGh7o9nCepjn*Ww;@`gUL^7C=!4E&L8WSP?fF1?sLq?{QpWTeM6= z5h`&De&}h!*ybuLG=RK5QFcI9`IAz=!S${D?da1`N9RjuN3TDS{AlP(WV`w%m(!4AfC^21{dKL^Bp=V&j6-op(fwoRcg{x+3VaX0blnhtha-LicD`;=p8O`f8iCy^70NhzZbBFNOY)Do*0p|0ERj=z8&i zf-xhZC$!70t+UY8(HTg$N#pk0Dubp>sDm>L#pr`R%*~wAHqw6}egHQY4~f?(zYPEY N002ovPDHLkV1kN>gQ5Tc literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@2x.png b/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6135817a8a14a32b6082dfc2e2aa7bd59b217324 GIT binary patch literal 2061 zcmV+o2=e!dP)Px#32;bRa{vGqB>(^xB>_oNB=7(L2eL^-K~!i3?U{X$k5v@MZI%p{RU08oLf$e{ z%t#U{<2Ce#Fq&$bLaIMB@&`4e$x9`pHZ`)slwM3sQ%p<}kyJ=Yim^nJyhNk6Zl_0fiq{$)PWpmA2m^Y z8BxBJtS8~iVF^g`pbMnA$x`kLtD%!ypRzWIYEmDAD>EphThiE?)Se(<2RgMUM}l=> zX^^m~cQCTNN$oc$`fnI){*==sr%8PRuFR)U-IB%b0lzx|$FN73Kjk#ZWx_HiVVQ42 zHA@z|7yJn($1xr>f68c*Y696x2%Qe&;510)fxA+jDZ49ml=ASDnT#buQmtVNd;^W0 z`X?#pLS?6}FXeq;l8-UO{3)YJ>IT>bCf{OQr3BIbk$yXM2Q3hN2nN|?u(P0@l`ohk z34L@of-fIZQLsu%kn#Y~L`;rg46x*}tApBUi*~pA3!+J21VqW5Zc+pd10CfOP3j)= zV_yoIl*s{%Tg_kUn!$B^N6AZmLIe(lo$!G9urGl{;K~LHO)aKWGy_(&fw27>g_~Ti z#krb*tF4S(6BfFSu)l^YEv8g719k-6Bsyq7^jwINmlGvLqp%OSCKWq)617dLj{)1m zFCf_tI^z4N5FvdNB|sb94_(m(xPGEGN%t|}wXh9bSx?~_@VAm;R98ibpj&}%8Qr0o zC5N2`I($yR8fa*~Qqc^kTSU~mGz*_@?<>G$Ek=rlY9yFpj0CYC&QPbl4Y zN`o_KbI`XXOmxEOUC9PbXcII7wfPyMM7}mQx%1HlzkSZ36YcvN5$$SH-y$t7Z83@V z#MVtiPk%1dgD}}l<;pO}xzv?tVkD_Ae?AE>Lmz>Y5Y~t4^PwEEyQOJ60Tni>uc)5} z^N2l+R;(UOT~NFpiu%}we=j<@q9+gf;iqk;dte4^hA`PmWo83a)7NyOelxG@9x5;@R_qBr~ZW19c%RVQV%uh*!dP zTQT2OjBapIRFd++_29m%6k{vfDXLv)J&k6nWrQqr8xhkI4n@RjJ6{G`;bkE)nrJt- zzbKoy%J3|l1`~ZN>qNCFR8O!vh?41U1A?>--;W3$saSkb2acNQohsJ0A}$RkgDYd* zd=lEUY76=S=!;(N*!$vkK%KTrt{1G;s1I4N5lq%$=z8UfCfC*NGs-4TE9Y)Y9a6== zTM|4Ld{Oe{L928>ya3O`V5kL;gB=d`F7~6&LKVV#}fu&)NIRdTI zuF#I~6D6i1tP0vleE{YCxP)aIOaL9n)u0y~gecKd?_(WeD}j|xaE|$;sn@o8#qrDB z2Su(NG477iZK!x3ZUVJpu@eVf3Hrk!C`$GdpzWvkPAj|zOoqA>3nr&=W?Dd?51{Yx zW8E_TK295L|Ln+bhBYKeF%w}ab}KHT$FTLgDFccU-Tv(tvo5plpWgEP#`LYr^Kh8$ z_;iBqXs5G z@7#0?479d=|FAaHcXML3E3(7lVs$um;=SlJkg5IKQUPfB$3WPY)P&!IEE@n@Tljl0 zdB%KUnjpo$Zoz@pgBj$E4GDKBthR$#kZ{@*mHOotpNQ04|m_!|hnPRfG+ zIdLatHvZvYau}nn`Jyy2+Lr!lsqfakYJ+YFzk3S73~%oiWW^hw%h70IiPhmqK*2eCgaamER$<2Wk z&>+tF9~Br!$NxysA>fOyVmgUG1>Jabson>^nT(Yf+t0 zG}+$C&L^q;k)RGQ-5wT$Rx3($^Uzk*mQ47~)WtMqgk*J8w}3{VzXI!2)^{!sc7gs3 rzKP3n$u7M#DwDD&Q1%3p`vm?0?OBoiQ-?8j00000NkvXXu0mjfa-+-3 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@3x.png b/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..ba717c7d9fa2f0d69d8a1b30c9329da9531d5076 GIT binary patch literal 3639 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 JPDHLkV1g&L(s=*? literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen_off.imageset/allergen_off.png b/Example/Media.xcassets/allergen_off.imageset/allergen_off.png deleted file mode 100644 index 72b5a8681e971c2aa1a28222bc189c74f17e30e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1224 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 M07*qoM6N<$f<*TpF diff --git a/Example/Media.xcassets/allergen_off.imageset/allergen_off@3x.png b/Example/Media.xcassets/allergen_off.imageset/allergen_off@3x.png deleted file mode 100644 index 6c2c8b7f0a767df2149271582777564253a8140a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3756 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 WW67R$TrAW80000 diff --git a/Example/Media.xcassets/allergen_on.imageset/allergen_on.png b/Example/Media.xcassets/allergen_on.imageset/allergen_on.png deleted file mode 100644 index 1bfce71f652e475416832edf3098d6a99b50f776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 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 diff --git a/Example/Media.xcassets/allergen_on.imageset/allergen_on@3x.png b/Example/Media.xcassets/allergen_on.imageset/allergen_on@3x.png deleted file mode 100644 index 9f90b4a1b4591c4e5772425e71d1451caaa881e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4063 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/allergen_selected.imageset/allergen_selected@2x.png b/Example/Media.xcassets/allergen_selected.imageset/allergen_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..265ffa5a282ca5b251d72826c97effb89730e26b GIT binary patch literal 4028 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/type_off.imageset/Contents.json b/Example/Media.xcassets/calendar.imageset/Contents.json similarity index 70% rename from Example/Media.xcassets/type_off.imageset/Contents.json rename to Example/Media.xcassets/calendar.imageset/Contents.json index eca5f95..7c6a116 100644 --- a/Example/Media.xcassets/type_off.imageset/Contents.json +++ b/Example/Media.xcassets/calendar.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "type_off.png", + "filename" : "calendar.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "type_off@2x.png", + "filename" : "calendar@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "type_off@3x.png", + "filename" : "calendar@3x.png", "scale" : "3x" } ], diff --git a/Example/Media.xcassets/calendar.imageset/calendar.png b/Example/Media.xcassets/calendar.imageset/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..80f97f7ea3dbe69d5bdb331660b7db48cd33b16e GIT binary patch literal 1248 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 mtmGp>IOczs literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/calendar.imageset/calendar@3x.png b/Example/Media.xcassets/calendar.imageset/calendar@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..68c484aac35a812af3b29efeb6d808c5845a929a GIT binary patch literal 4334 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@2x.png b/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4df3a0b3aceb207541ba52b6af3a48dd5f02feb5 GIT binary patch literal 1607 zcmV-N2Dtf&P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1?)*gK~!i3?V5XtRYe@f?_JH*%3SGXZfPnC z8e&968Q89Wg%naG^@mXs1rd?Z9~Kl92DMut2}Q6;4+@DMM)r`(Y^B9g(o|fFsLV}E zD|)T#`q=IBy*qO|clMlf=jfR=rD zi^XEEjr)ejYVX@loL;%(ZXunTNZvcp2CGR=a&^+u=r>Tl3atIKH2u8GhSGuQR65eB z_y}p`H^DH_Y+Z?NJz?rBQ!eQP4MZah2WzkR5U`@UdRPr#+KjxyBAsogvWuMx)v-D_ zDUyGPxH{R)&l#ew}j%jwRbP+jV5-J-7 znjz`@1)4SA8B4OKih`UuRS_iGet%95f7N(Ynn|nxbzYnO6|j3`A@ObCE0a-t6|{e~ zXYYiKAV;o+76>M;W4l@JU#m6to}BB1(?GM>LD^S?UV^=5SN5kvH|((Xlqo-`xQ<0n ztZ!+#5p)RX(AW!EWEaX!pgLv053EGnv3a?Mu4CoO8Qp^7)!Qu48A?nmFObbxfnF zr4m}Sw?nRqg6o(b#Cn*zhf1D~>dhniN|k5b<+@zQPN77c@Dg%nj_csm91A%7?slkX zisxz__+&9L%k!M3#;I7s3v<+XocyCo>A!IST}l0VKR(>E8tDA@*$BK zFw<}e;id2xBuR^LXbcL=K(mrnJtd`!kT&uW7pGUmMDRYxrVxPfE(4q1xRFgd@^dBfhd>vCKAB5qc zgJLtd(niK|xWPE^a701N_$n9%pGNYNqMCuZrXKCbbxDd&ekg)LGzKHP-^gfKtD|bFGDNbs>U4ogY+)A(B$iK zwF`6%+qZ`Ic&Msl*Bc$5z}ni-$3|c0vwR%WZPjaZN^4%Hp`QHu^pMO1eRaPG4}lJb z(Xbu;ZRkHkTo9`}@o`Kao?23xfh}M^MCF`4Uaup*9X-)O2LTq!DMrwNj+M)D(s#3e0nNUS1u2_5U-7H6FTqRlZ z=9p!*5~J=ch8cBtpuc%A9n;AF-8Y29UJZ3*#xS$gZK zyAi!*(slQk9>V)Uod_XQsPslgR4=N{#9MM~MEzbw-TkL74fwnSqn4ZKb6#HuL!ddQ zTJ_R>d&MA;u{Ed4vs9xt$AjLApMYxLW~d~JzBCqAI7LDg-$r<@TM#&{EwF}Vqvx8I zz1}q+fob3?ItM<22dHPguTgM4<50OB(xX6!%X+Zia6|`)zLMXEn?P?gu@dT#h;7U# zlg{ejFEn!(fF2RLG}Uvj6Mg`F5_J&Pq&5Pz5jc(`@DDuy>^-nmJEs5u002ovPDHLk FV1h*${|x{D literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@3x.png b/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..283cba4fe65f7c00d047f35a45e32c468c536e57 GIT binary patch literal 2575 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/calendar_off.imageset/calendar_off.png b/Example/Media.xcassets/calendar_off.imageset/calendar_off.png deleted file mode 100644 index a9e20387355684d05b4bcd002fb08b16eb387b97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1110 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 UUdV_O3IG5A07*qoM6N<$f~iXqp#T5? diff --git a/Example/Media.xcassets/calendar_on.imageset/calendar_on@2x.png b/Example/Media.xcassets/calendar_on.imageset/calendar_on@2x.png deleted file mode 100644 index 3b75b312d860e6fe6fce32082917a23cf70bed89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2458 zcmV;L31#+)P)Px#32;bRa{vGqB>(^xB>_oNB=7(L2|r0hK~!i3?OA(_R96{4k2`l}c3Bo=c?i4g zgM_v~u?x#KghCVoN=vGLSW8Nyq)L4B(hN>l@5^8aQ#TOE& zutArXq{!|po3al?_BF42&pH0SyE~Vi+1c3#L;p}ta_8QA&i8%idw<_O!`Q8HO9TJk z8sNi;zqqvGZYv<)qIKoC-#F14**6^Q;Q8v=v*%gD+9fy-D6M~ZBGUBZ!Rz^c=C!kC zO;J|xE1YYcBF?oijGOsV%1t!qD*bE2`7zFvNWo;gb0$GU&*5BbmYfsbA!gWnMrdDA z+;A(doc*U-TTf-9G1fU=Q#NOT4DeINn6cuH3m%qXj-wxIxODNgaS_NsvIf8VY8sdv zEK=s$V7$!d;qX%Pob%LUChC~qeE~=_uGVib?fym^BZQPo;mg~IqO07OxzYRJMs}_p zjMlCY)eRAHP&AQR4GK(5K-GKr>K#LNXKANZLL` z9v%cZcMY>$#=?0Zmqx-DAZavPH@QTwE1s;P`g-q@20hM~kl?1Fr#Jbt&NiE&!5Sx- ztZ2Rf8pfRw2!!W_3&K&I-*^iN!8)C!i%L!n&Ngj3_&-MmwH#N!tD?^D zXtAcWv{p!aJt%zvLd`&uwHX>HVWa`DGr4HeziW#p)p4!f{vZg7_dMH zx%+Hqyz9OwOEv~9F`+ru{adBXm*PrY0aL^qlaP`NA=*1k{mlCPdqEVa-ctWQc&@a= zKL_($=a-gNm?=~DNhuzKVT&lX)BGvL8SXSs>w=jeq;3A=$`yk^a`(671kld( zl7b1(hDGquL_2V>Dpb6^>`+~!IeamDUqVv-WuGPctp{z{JA9GWhO>RE&Dxze@GlLTu#? z^)XbjA0dS16JEBVAhdU7#7_#gpC370a{U^UMmz zYV8(ie}RiNFbAQ`-V0Y5yJp-&u2Jg&ciDn}00wTr50o5y@2@y+c@S3n9O?m)O&g^3 zfE{34p877^@#Y(B>-MM9)(5|MLP%L7gW+${{D=Zj21+P(%5~M+E3xj~AFW>djF93P zvH}r^qiTcM=L?H@bFmC=*KP1+z8a3&tAE-RavQvf>KakOrC4BKF|6`fj8ba;9&^u$D*cu|1UK)Sq! z0JbJu_GD)CBmY>qrVtu!qBM*4s$*KxK6qzo=`w)c<@vXVmHo#_B)o;hz&$&Z7njfl zn}uzudmes}05I8+vig0egryhRT%Nv?NbKx#k~}37fhy*XW(B04sknCsE2m2*l`xHEX8Ddf1-E z^QSkS`!KrcJT9ckI@{u5uC34a#m%p#A9(-ES_SIc;9}@L?{ngYwRH)^HtcbDOi|+7AfH8sgQU(P3-h>c);_~YI zI=E3KQph4opx!4P*Z=Vl44>#Dj^bfPSt)z*r>_H&vv@ShUf8ycwYRkm2_d-dl$-*1 zd%^V3$Pi1B2~$3efy-4vir}?Lg6sGd--w?f%bUyx#zIg zP<*3}JF)=4%YvImjn-3)rxv^ox%ni$<13(TNW+u@9Jm`q{D)`GFqKUDiXjWcqJ1n8 zM_Bdej5I8$wP{oWq+yNn#Q{T*{7wibml)B2WZ<22XG13gyN=6VdU`twXL_b33-m#V z%nVHOxSAcjX#!Befe7=U*qw*38J6}T0|seAH-;HPtPFj_rnpRJVU4f3NHQy zcxQ-jXD2`QS#m2|$`IUi{khARBS^WsskO*8$P%RK!B;lsiHze_B7|IkcdYSZx zeaEp7oo$^@FukEM61h}cUbPwJ`6;yO#T4u#4bSJbjsf=NSfuy+Ddq`}S1=a(L}}$* zJm1v8rM8@SytT2ty@NJdR93cJO8c7#$JGeha5gc>&(IBMnCg$3>sK3^oA+cgIeuTv zq%^*F>#mB51=3h6@l|mTtTG3V6*8J9kzFEi=%Xkjf9Qx@IN6NOeSBNo!n&n_|7{KY Y7l5hU%XKYhaR2}S07*qoM6N<$g7=TRLjV8( diff --git a/Example/Media.xcassets/calendar_on.imageset/calendar_on@3x.png b/Example/Media.xcassets/calendar_on.imageset/calendar_on@3x.png deleted file mode 100644 index 29131ae4d47c848b1ed72c4c07fdc986e0b3d7ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2536 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 JPDHLkV1m_eL_z=n literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/calendar_selected.imageset/calendar_selected@3x.png b/Example/Media.xcassets/calendar_selected.imageset/calendar_selected@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..d58e939008fbb0ddfb5de0564f9eda3cf0629ba4 GIT binary patch literal 4379 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 BUJU>M literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/location.imageset/location@3x.png b/Example/Media.xcassets/location.imageset/location@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0635eff90c30f18aaa446da2870d1e6ce108ed31 GIT binary patch literal 2973 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/location_highlighted.imageset/location_highlighted@2x.png b/Example/Media.xcassets/location_highlighted.imageset/location_highlighted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e97fd37e2ecbc2c9c05d08090db19530e63fdd69 GIT binary patch literal 998 zcmVPx#32;bRa{vGqB>(^xB>_oNB=7(L1B*#SK~!i3?U~I>6;T+*y=iK-h$tz^3@jmP z5rPO6{Q<6o+zGXk7X2wLgA$<@71X9pE1`Xx7Eu%-VG)55wCIbn@7wQ@qa3g2oS8Fs z?#u}D!s9*n{d}Io_1-x%U0t=+J5cXHCwHLHiRR5_b31*Hfinh2dEEnKAHfoMXt3C5 zG=8(LwjpX7EP!ty$&{nq>B_2t+z_}4RzR$&Mzuqg5(uGF;5lg5)Z=s|#6e^XEVZl1 zs#mYEQpG`F5InX><+W7L!BWIAxEowespJiLPYkq9W9r>qxHyJRfUgM*9}w5KSWw6UfOfi$AT%XPR>O10x#Q<3LvB7@@Y)cxh9Fxn7(==ls zsZVZkhE0K=PAbjjOZ*4Z4pS~rjmtD+Ds3-2FL77xWNUqrb+7f_UM_Hnv}`*X+ z$)>NZfm-%M7a@T!Xh4rm>*tifmUF61^YJ9?cvw}0S3j5{h zs?)+=Pb}nCjqjx4n-%KUl~tJUe@Nuc1}D0Ms__Z)&2o1#-mJo&QSaNyNxsPr1*cj; zlRIg-?4@RCRxt*dy&&{EcAa?Q<&biKa((uWz`kNsnJEmM^RY30{YbB!nm2J%3@9gL zbDIh~?SRcV_#9$I>=C#K^dsDFptXF8g-pH2JFUanpTTLb?!S<$bC#fW8oTBkT7(mJ z`@xGeEF*K&^FR?AyfYx6>&EYq#6#)2|1sqqSX2NKJ>W)&X=F^jdWzy7oCA^26?%-W zsFOjER9->Yp96nlRJ7!(b~-OUx%Gim1KesM8}s%y$yu+2a?{~#1hHZ8I!2AjRn4%o zX;qvMoB_Vmwb8NRMY%Io;qT=E$zE`01NHEmyQ=XvtWp4?Bj9aV&uUaTBUR#_$OXdZ z!M|1d?mvoMNNiNK1W4;6dC#qB)vMUn_z1RcF2qNH>)a;aXlwqKdXIovVE=GyJ-eku zxX2K*9N z4z&H5=l^C0-1MlYANU?Dq@^!DKfqHSFRi34a^>YA>b%7 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/location_highlighted.imageset/location_highlighted@3x.png b/Example/Media.xcassets/location_highlighted.imageset/location_highlighted@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..686b87defb4b3170112f77bc39e260ec7619bd2f GIT binary patch literal 1381 zcmV-r1)BPaP)Px#32;bRa{vGqB>(^xB>_oNB=7(L1qw+-K~#7F?V3-hR8<_u-&ACoQlUa(A%amB z@g8Up*1|~KnDUmo(nZj=m5@&mglHAL&7;T=G-y!^-^QgI$u|Be!4!GILnR9$f;1?4 zI(@!+2j>klcYf#0{T-*d=LcWzpYuDv^ZR|~%*;La-m$T4nLs9x31kA9KqfF;1RBGV zPP5s3kzC$EZ=zSwTJ$V>1l>h{plj$7I*m>?8jU%&^)|pQLm!|YP>iXc`Y)>;Ns3;A zK19ExDokHSS2j zq>u*sA_cWBV`$u=xdMs)Kq=xtm*P^MIuM=wFm!~}R&*yNu`Xk2{H>lm+@?B-KSkn~ z(F>jh7-QeSZvz+Se;NIQ+_W0-vMB<`0Q`l1(`XXCjMf!f9qYW>Lrr-opZ||B3s<7s zD8zKZ{62cTtWvcXexVoY%4cO+?4fES*@Gy=&f)xgND=Z!>K9@ML&kV$zEq@3n)!gr z&g1)ZOv37i)Zc3JIJ*50#MIEW4@qvaR)pW5NWXc}rv617HYVE?Jy?&99)Bz$mlKEh z$DHqxo9T4X|B%V~zEenk0bwh2WiA{y&4*_57Jil7!crWhcosWeVY&B0dCWvzmRRfr zv*@C&_KkK;nZoQkGjgHHWep*FT zY1Vkw{LHy|e4VX>>$yplR&_jcZXOU9jH6e*da%Z`=4UL!=Qr`DarBKwKdYNHUd-CN zGzX8Fc(ruI2aP+p9;syfBF>Hnp-cDXN?RiuD=DI5-18mBy$-cj-r1`$@Vw$Ep2e*B zSz`J4Fe|oOu6PR{J)L`UkWADcg*-iccaZUt^eu|gn%HVbag4etpngdGt)|;y1AS;o zAZid2Jz}k@@C$x2M?XD5RKE~Ak_^J215wp@NM(iZDYm91nf#FaLv4J}+LHFCy4lbQ z@z;a*uaSON7u}rDadBSl@(ZwJYk-^zoi0xPQ=XN^ezK;V0P+})XV8SHgOAe%!oJQd{MRRZ{MW;r4X1^TrQM76Kz7pvCo0GjLrakAEcti=QIn;sy)wZ^Eu9{^XO-#S3*cvbD; zga828t`3O1L;7dmf&dU(Z&A!bZDfetO#}d#S0#BWWCEE$CXfka0+~P{ zfmAOvy+>Ye1?EPx#32;bRa{vGqB>(^xB>_oNB=7(L0#ivuK~zW$-Br7e(?ArRvB$(tR{IwSk!&O@ zTJZ}|QbizETQ08x5KtiKX}19Z1!!qNskWeiPhbm_RUQ?80M(+zu{{s&F-(XOk9U!f z5R5dLJLjHzZ|2Ok&Dg&__(=}X@AuCIwcw&rW&?cg^I@Lm`*9o}92Z|%px5g~tyb%? zFZ^pY8d~cjpXYfjrJ(q7NS5=pu=bvU5i5;0Po$J@un|IB<{rNZlXK3}S$cuw`T*bZ5X*qw2SKn!sxZis z%#z)9t9{@4X#F@C4e}_A?m;fC^cG>I1)LHorp`(w*=#nGn(MuV6XF9yK|1|K-!F8l3%<)2vxb;=%f z;x=8fAf0!p9UHmM-@+ew!6mxnD_NG|gc4jEx4b&L2*m!d|9ri%zB8RpSr~>4?TO+0 zKJJFq>veWCIeHOq#8(SP$&XVaaAhDLPAAjP)KNvkJkJ>>k^_SeoRYkAsItK3na!`# z$U7vH#AVw78yI}xSiEelEP#Nx9lxUo>}3>1^LW^4p1y)_4mylu3m`5_vqy9fg;a$! zWUEY7N@MGts6eOF`9d$YyCjRogbmCl`D5$h;P5r(?<90S2W3en-zK-q@V|=v>b;V` zF&>XQe&FAbnJn?ryZV%1DpybGoA9ZWKwzar)Shef)SlMt$Cqp+3Blm3;Qtly9dWH3 Ud7>JmP5=M^07*qoM6N<$f=KE(vH$=8 diff --git a/Example/Media.xcassets/location_off.imageset/location_off@2x.png b/Example/Media.xcassets/location_off.imageset/location_off@2x.png deleted file mode 100644 index f703dd5b608718e785f51635c01839f37c14c0b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1509 zcmVPx#32;bRa{vGqB>(^xB>_oNB=7(L1&T>TK~!i3?O9E18$}e}o%PyllaK?y;g(B9 zlQ?!ssE{i0ry@8|DW_bJKtk$)6RHGNFGxs$0D)9-pac$791v0@8iYz)g!nnoKn`(Y z$D~av(Hs4PTNLlEcXxQ7n{mh6O+33^gb>~;nxFT*@4YwkcIK_CY5k|a0{`z7(9;aR zTCI-o3_rj$_JpqM4{BVytHrNte{s$)23qi=?&;@CrPAfJ?4}aH%F4L!!R_aGuw9U*Gk3G`<+tt zQQ`oWe_MVo$8w)ht{Xc!&lqcY5(LpHg&^qN@SVVUVc*!k&(+<&g-jGc?Lw`n`}%j3 z4)=wfhf@?3QYj$k{)8zS-%VIXV=W3#*lXP2PfhHdSiR+%TJPo(sbO0vaw5ZgcC2tm z;Wp>#U4VnvnqKqmhSr#(JTJBWsE;|wfRP^r1TJubTb8NxWADJy($YjOmpgA{i~)Hy z;TWxCg$Mk_@$vC$l<|7KUecNVDecBX^a8gb*frntHyy`0FgZC{YYP-Qv3GzRJxC`` zhx2fN9J)@ceRwD5;R|HI01F-QU?IQ>ZZW6Y#twip{+PUaFoc|^75rjqYO2!BFfhPE zM}EKwZh20nA1eULQJrqtJ$M=Ahw|I^b$?!-+pP~QbYu)Tx4AnblR**vSOJi}PX7kw z0I-sD1N)xs{T{&|IRz|q+rsS* z<{$$GSUG*b1x~uiehKS!8+UADH?WY`YPG{=&YY!H>u>}sX=Y8W=`^oU0k=eW@!>K; zX){SW!%dgYd+8X44y99Id-hA^vGOOvhH4wT_5ksz;;EC<_31-}eBqGmxNTc-3}Y%4 zhAq>2)(>tT^#*I*)Gb*Xyxl>-PQ&@;#KMV_VVTM}(GGx^J|D;F!{l44Z61*GS;eTp zP@o#sPJhsc(9`spSr_wh+Su=aAcsLR{4R~T{6Y(Pw{}~HgCnW)u#q?bD6g-t&w5So zYx#x7yvhR|=z>E9zY`{L3JF3wS@u$S@e`%fz2PEHV8Sg*Z(8~5bcH`&EEX?><#EP6 z?EnnH0V>YkL`kfYO27aMonD=X{hk8=$>Pt8v##f!#);DH0ftiN40O6-RpdRVkT8NT zwR}E*j!J^zolYg3I&^njX*3$o#QpLTcEW8cI{;ERM7!`_*g$v;Oj^!^JGB5nwsCRe zLwb=}wx$AdY@fawtQI7lspgde!zScd&zX3Tp;Dj{{K*0~XQ!IQn5`ND?Wrn&9^5~+e?`dtGcEo2`zrqaNrw}a)2a^5e>s0#72C)4SKwb-fyAfK+}vD#baeCs zD{qylwn^kZ)lQn-uvgaB)?S{OnMp*F_$3}18e;V8TDedtJS_evCT; zK5+npgM$H`@t5f5@*&%?1z)U|zK8K+>m_i-QtX5KE6`to_6qzB{WpONiq?B!00000 LNkvXXu0mjf@^9H2 diff --git a/Example/Media.xcassets/location_off.imageset/location_off@3x.png b/Example/Media.xcassets/location_off.imageset/location_off@3x.png deleted file mode 100644 index ef9dc8f2ce564b9012382e054aae151a4fc48ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1581 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 N002ovPDHLkV1k*z#1{Yn diff --git a/Example/Media.xcassets/location_on.imageset/location_on@3x.png b/Example/Media.xcassets/location_on.imageset/location_on@3x.png deleted file mode 100644 index e83788f9e7a24c156bdd9f1fb9a11c2668d1e4e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1668 zcmV-~27CF5P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1}RBIK~#7F?OR=F97P=e&)!|qB(}*VX;bem zP4+4j)V4I&h^Q6(piq3V^}#nO)fZ7;e9>C+CKw-l(V}1lK}12&`lQ9Sh(7ee^qQ(v z2sHQ6Bo~@i?~KMIO?JosTrS?QeExcLNY?0RsU80RsU8 z0Rwj{1H>=jseyqZgM83FRN3?Nw_3iO<9TQ8vWW@Td<@zYAsP{Q03 z4jbR$d=hU2oG^yM%nGre8P8^a75X;lppBq?rnxr)#?OdrOM}>C!{%4Oeq0wxS_m4B z#rmPOEse>Wnr~zoV)GI#FQ&!{g(=w>SwBP8(S=`_w6uNY6*&wStHo+!GwcGVlxs-J z%Z1ahX}*q^@MA7Q%C2}BFX2R<#e&q`gK6^f+y`+DP((eQRkjT`1hF z<>R(r=^2#h**b#cJShVL2lK^}y?W?!K6hqzzBpGM!}guvB~n4Rr(o z6|T-Hq2CJd2+eXi#8`xd)*O@(gcE45sHnBNdQs#fvdiRjI8bp#R0)=~900}j`Bkg&?+kijBRin%Bw2-j7@2^cTY&p)`$?32W{&W**g9P12K z9Wq#|LTVnWBoW=Jw!g&Y> zcm&r~?}&g^+gS{Yt?plUj2IU4nRDy<8|+ZFn#U*ScD%Ez7YKP&garrsSiGw{xt&CR zoLwp|*Yi(Blb!wByFbR5SL*pyY?Pk7{CDY0<+#a)vei7p!QNnmNN5sCYLml7=O~bq zxW@W={MxlYoH6@$?6^N1iabYv;@VC8grFRY>okj6NtJIploG^1J~UvS0K<6OIarxC zdw2$f-d?9s5|e#M=FE)~_{dmx(sgZTj_S5@f*t^9X&>Bq2?vNx?=~d(N-;N?x(ZNN zvThM6o1}T+D*(5MMUUcyZSg+sd#uH3swRiwRyIjHNtl^07UI$FR_r_A?AO*NWb~JO z=5rnSl}n6+ybqu?I=C~fTWY$b#mAvsVmvWB-L*?iqqO)qv`CC6*Df`U(&A&#CNW+> zm(+Aii{sZOFJA*iYT2k{{S{$G61Z^ZW zBnQ9kw2t|4)#AkPy{{7EAj(qfibnC(&ckbc?~mnkr?}nEz3*obA3T1(dji|IB7v*e zev9`9dj|tU{pJDo=jaNW0RsU80RsU80RsU84KtwanRMZ)L(h_sA@RQz4P&naQp-LZ zJO6#tAE{RoIvRJ(jiLk79n}m768sziK>~sTbHG5rK)^u2K)}G=%fSDrlu`Ds?!(Ri O0000Px#32;bRa{vGqB>(^xB>_oNB=7(L0@g`HK~zW$-BiD8Q&AMY=e{H+81qYuLu0hj zrGk6WLDUKbCv|kv!NsA2P;d#@#X%^z3NE5!6$HUw2!f)2fH+wL>1#;|CQU?>CVBVx z-S^Dv%S&FGrGveY+Y#BCmdIvL7&3HKurWi#`&rN*A*|1q>Ml1- z^ZPhFV~J&Q`FSC@K+?$gNm*G{A!xB$`tiW;^V^0W@Z0HJ{*ILLJ_(B1KJx63aXz9L zNjVoyq}r`|?V~^6YkM-iu(M9*j-LV9dlDSc2s`70kn~L`J_+Ah{A>=$w&6ZsE3JGQ zWO9&DkVE5OnFm!wFbw7;Z&hwIZ*Wd~s2ea8p zrhQ+?psY)%R1+c>`ZrE@sgDMyLQ^knuCBc4!vl(zzWO7q4 z@#UX&i$YoNs->ddK-(8P)Ews;dx>pU;x@CY+hvYf+v5splCiF_r-owLz;!}P&f*Jy zx3*eb?)i3So)GcO(PK*j^X>@zkE}aZJmnM vi0wR9vLnNyPAYg`5;e^o*%>9Yw|##B6*3Ip+oL6600000NkvXXu0mjfcmjNV literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/location_selected.imageset/location_selected@2x.png b/Example/Media.xcassets/location_selected.imageset/location_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ecb76b93142a5e69853892e342b4accc65ad50 GIT binary patch literal 1733 zcmV;$20HnPP)Px#32;bRa{vGqB>(^xB>_oNB=7(L25Lz}K~!i3?OI!C990-T=gjVO<0jeNUNmmH zO-v;q1<@7-V=VNciVwBoL;EB?^i|P5s6~AcQNar+;*-z^6@BP~R%#K1S}0ni;sqqM zl(xC-CXK0aZ%vcz?m55zzq^yBJGY(7N~t*|%B9V&nMxC&lGSUMl@sz;Rt4&RN*RwDp_s zI=}=!z&U>q2{p2WmI+!VN1A7tg2Vsh#t);h42Kq8&aeXY^bZZ|g1-j>_HZsZYb9d` zgd}kafh&HjqTt2y^riE5re5Ts5KE>9?&nedmEe)Vwh6Uni3AnYCZGyW6=o)XZ&iE! zt$B55weRWgAC5#LL~5&VQq7>8Ye_EHu1I(M`%1Yy--_kscOYVkL?Wfdy1x)Y+u=xx z?y1#(4jEz@Z{SSayN<&*%gf744yKN(K*VmlJ^h-{w5RP!H3@;5!zOVK?JnaT6=7V& zoo;U~#30jSwWU(w2gmFkl)mq=L?*LUcX>EXJ@Y% zKJ{afURymN4Y;a~ytUT{l>FKnIfo1D`_#)Q3X($as+-EggAk|d~>=35X&W*oBw&Y_< z9iM}QL0BeT8vkIv<1M#q6a&OgbAu!xoNP%^G14mW`{U*cUO4vn}>f z`5DyJ?DZxM+SYwc3KBSDS-RAPzKCHW7HzNz!nwJu?C~2KM;`|)hqyk8f$d`gm`pj~ zS*o0U?6E9^HHE&2DFqj7gM#)D>Y}!Kvm(kAA2o{`5=SgMCzSglRs-z<_N=NYE_O1` z)uZbN1|Bf!Yy`>vfl++TdCaoIA_igExH^h`5i3tuvbfmz*{YLqp>+Xh?=ZHp#}T=% z+}Oi4?M)$sd4{ROB1Rp{J&?)57cs_iiwfA+rf4LT{07OgA<)EB|nDAGu% z+s#MG>Z|$eq_1@%!3KJ5i3$EE)AgNrUu7tm-N046UVqP`cP(zQVp;8o21?aVL%Dcx z3CC)cmvf)@SOcQIy9DwOZdsIFL1_d$lKM#R}xlH7mJ0nv1IB_Y!Yp+I#%M)Y%%yGKQ$i8Y*E}$ zO0k(Bz_NN*ftvDEl1Pet$QR?dcb6uZ+aa_WBcP?Lg+i=5IghzMfi1qRi-ubR68}A4 zxIA&nEm<%6w!pmvEKHAo3BZrFHEUFYXiGj`Fxs&Vofv}3npE^`n{gyZq|k%tyL@)yNyNf7AO7e>DH>T;s!YBFO3vO;lJydlv!p}Aj*y}RI#P-&%u1!XSkDH0 z<>I>y8Ic6Z-zeoKj;_c$aMHw9Tq6nB0F-Ec>x9o{I(+1;^`|>zwH|v3-s{z{i)W-e|vv_QULo@6MRtN z|6VcVevSgyl~S+?jQI!~8=LbJ!|(}AY*9+y#iQ|<5PHquhY=$e7Qs~seh!Tsx`mZJH00000NkvXXu0mjf!6iOy literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/location_selected.imageset/location_selected@3x.png b/Example/Media.xcassets/location_selected.imageset/location_selected@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..40136d9af1a84c61eee859ad7b07992420bee8af GIT binary patch literal 2797 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/type_on.imageset/Contents.json b/Example/Media.xcassets/price.imageset/Contents.json similarity index 71% rename from Example/Media.xcassets/type_on.imageset/Contents.json rename to Example/Media.xcassets/price.imageset/Contents.json index 0ad095c..089f961 100644 --- a/Example/Media.xcassets/type_on.imageset/Contents.json +++ b/Example/Media.xcassets/price.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "type_on.png", + "filename" : "price.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "type_on@2x.png", + "filename" : "price@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "type_on@3x.png", + "filename" : "price@3x.png", "scale" : "3x" } ], diff --git a/Example/Media.xcassets/price.imageset/price.png b/Example/Media.xcassets/price.imageset/price.png new file mode 100644 index 0000000000000000000000000000000000000000..cea95d71132cce1e53660c42edf13bdc3fb3e3e7 GIT binary patch literal 1325 zcmV+|1=9M7P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1ky=FK~zW$?NnQ6990-TbI#1{&g^U=mBoir zty+a{Hk(AE1Pp;F7>NeFkcbF{BJ@E7wZ#Xi4-qO#6{`=mjZ#E0f3GVt?DHFP2uIGLi zc)`)m&dv+#1!iYw@6vUBTnn`x%dr@M&O`a*`FwsqV*3ggd=EZma+5`I#PnEay3i}- za`_~_V<9r0+%fG!xI}7sVo)RyBR0b19!7}y}kr14(%=MJ!#q2aXj4{7Rq(PXZhXAlHu z;Ladzq+f!CR3}uJnr^5_oG!K%yP0IiK{~{TLXcv$z8cvX`-z3#h35!&O__*<(oToT z=*R(YY^cKOfCZ}<22uO@F;vZkbP>j8uy@> ze~h*G!#IdP^O^5*jax(tWfUSy+vexz?^c$9F~#f-$8iqla=DL&hlkg?$I#GFqmVBg z!F_=5HgZowgd7?3_?hZdwOpDs!DvTv>_O2h=RHjT|LZDwZXQB?o8RMY@dg$?#k z)oQgLP~^&8P!O26nD?gQ)K7$fy#iX34}%MaFg{;dSviC9cnE89xsk|GvjFBGGMWq9 zwi$ht2owh}nP_QkSw!nubXuH6C+kcKPv`*n2U_4emAwpZYy#vF^v9*$ckVug5*cmJ zw||W|U7=E;A(@QuE|zKe7Xe&CFFWdozPhBJ&;-|{rlhIg;RQ9$<(S2bV0}Mo3Z$iG z8fFS9pMyoOF8{u~0Qa3mV}Cf6PVE4$!owK{MkS~QzbH4U(=GfE1k$3QMZrXepm zxxNtw;b?n%`#ZRQ)-a6^peRRSf#tE2aX9Mqy+T{z&{}WYf-dH|?k8}|elu+reb)~G ziX_!-xc#-cxj6%O&m%rL%5HL>p&J6kD$RQHeZs#X%jf~vcc9kJnx=U>wJCBZ2ESHw z)H~sL6qR8L%zvY?52LYvPjA<@zdc~~Wo$qEA&P`6>Ux6+n?8!tB8 z#$$;h!oFe45<+8RV@6+J-w^gshcYZ8BOMskM4>G}>6uEUa(ZB3pq|KY+dMits!vT# jwGe@A1HB1!JrDc~h-ig+fo^6;00000NkvXXu0mjf0Rdl? literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/price.imageset/price@2x.png b/Example/Media.xcassets/price.imageset/price@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cdb132bd6cb15a4afde04353aa4536a181e4e4c2 GIT binary patch literal 3141 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/price_highlighted.imageset/Contents.json b/Example/Media.xcassets/price_highlighted.imageset/Contents.json new file mode 100644 index 0000000..f635a5c --- /dev/null +++ b/Example/Media.xcassets/price_highlighted.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "price_highlighted.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "price_highlighted@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "price_highlighted@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Media.xcassets/price_highlighted.imageset/price_highlighted.png b/Example/Media.xcassets/price_highlighted.imageset/price_highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..a63b16c7bebc8e8e76eb7e77511dce8ca58e44e7 GIT binary patch literal 785 zcmV+s1Md8ZP)Px#32;bRa{vGqB>(^xB>_oNB=7(L0=7v+K~zW$?Ul_-l|dAT?=>qcGl&ve6hRP0 zWKpgXA*e_Qq87FbbXE8V1Q9J<1g(OgRRpcE5YG@rm?{>FlW9B?wLlN# zldYt`462dq3>@oC)(aP*LUF3C72ZPO5&aRUN&IQo1Z&}RGO#J>m%Ap59mV)(8l7Cj zcsLfaJVifq8ej$Ng)x{TljSu*rz=fFutxlcp&o`Ae}*mK--0;=J7FVyg2(U#=86Sv zpn9Pxoq=y3j6vujjdjos@57nckMys?`igisBH8hZ0XmG;!T^Mx)7S;~GRF+|ch(ML zU%wg#PybhRB3XO*!ZOwfA3*(pR=5f37evrW+Mf6ugr>8`Aa;#0^VK#JNpjYb_8nCp zSOgs~4ZgQ!Zh`gijz_VV;43I&JMSQLLiwuVWF2Kk@`qiW&vtkWdpB#xuI*lfdN7Xm z6vTL(-0QFNT_Ty+bsem#S<(01&cc3p2N8&7Sx5M55ve|C2d_Njb^nCj`D8KJPhyrF_2{cxxw<*C@@NY!uG9g`8qH;j&U+!3*%iZ3Q}~ z4)(wWcnX8yNjHFUo*(pacnQ^u-JQvHoBtuZ>&r&LcEOiyjwa@HSDz)D$>LQoWE5nQ z&;*Su@FpDCD2!3s6%}4}VisCCC zM}B=;2>G!E+XQQ6(h0CgEDHa{Sa5e>fKS+bpFoBdDH1PgM literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/price_highlighted.imageset/price_highlighted@2x.png b/Example/Media.xcassets/price_highlighted.imageset/price_highlighted@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c05f3b65c8e45c49fd5d9ba9e34a9fbee7b8a468 GIT binary patch literal 1785 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 literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/price_off.imageset/price_off.png b/Example/Media.xcassets/price_off.imageset/price_off.png deleted file mode 100644 index 7c1e2221c0b6cac6f55270733e45170dfd27001b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1125 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 N002ovPDHLkV1mvsPlNyf diff --git a/Example/Media.xcassets/price_off.imageset/price_off@3x.png b/Example/Media.xcassets/price_off.imageset/price_off@3x.png deleted file mode 100644 index b9b70e1b2faa2e6518bf2cc0dd076b0be8bbc8d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3097 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 V;qIK!lk@-p002ovPDHLkV1gqXIP?Gj diff --git a/Example/Media.xcassets/price_on.imageset/price_on@2x.png b/Example/Media.xcassets/price_on.imageset/price_on@2x.png deleted file mode 100644 index 35b88d5b8bdf4561ce987e42819fdeba373d399c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3034 zcmV<03nlc4P)Px#32;bRa{vGqB>(^xB>_oNB=7(L3x7#OK~!i3?O1tmRn-|k%f0u#ye)YzdwAi6 zfG7XB18x>ZFO|)w6?L%=+M!rU39Q^Y-{bbGSji6ElyjVF5}jYcC@WUBSMS_ z6Af@Ij6t#k{4be1WAQHRJIja2f` zRAbMEmo!borTD{^$*-4LcF~V#Yo)0b&^D5?X-~_cEoUR(nT)Njto(%|WSbPCPg1Jz z=c9_10Si@%v4xZqv2UAwU;VlnwWdB=;vwX~*u_Iz&Az2h;e)DhsYF)8Rn z&21k}DLlsUwqsbhqZM!@UwU55`hfo0=2DUEx8X~+oiOiGD|{&o29{z*q? zbz(2tQM>BLUT)k6`!Rvtfnfr{O#IwZ663;9oK}%SpC{s3OBr9o7%LLUctYYIK#y^P z5j6ybg`<=Y0qxd7jerOll-&rKuCIwyyp$m7`}6QEEm6k^Q6~4zA<0~ZQBpk;swcN=CIXOd@dHwu6 zx2woaSpX~rKJQA|!*9ig`}f461s}%a6bgGyYFx*pTy$|H^4)h@TVK$7XVbU>=}tw> zZ01zYu=O3Nm^=wnXUGC362f`9wCnJL7tNS4*D_syfe;H)7~|n==;p#Ad!;{QmAcHb z6fCW0BGsg2fJaHtGy@BL-at%>F+w#*`4{_QRICklba*Vo^#=~&lfsb^w`*WsIHJB5Dh%aY zhCc>{02y680UbGPD=~!kl!jp(JWiSGYJV{JaQQ4>Z6MeKXbV8jkNUiRQ6#b|v!`x9 zk^&`sW)5oQxc7ACLcl=|`NKIIH}=fQ%Uj1e`z(Z4l{q;Dj zG&xj>=Ujk|CJiNcr49^?#T34 zyx#D_k!W(cEu7zI1vAFcu<{s&drfhPKgc-_sW606w=5{DxIoXHpnxvvnFUYRDm(r} z%yIU44MXSd{xXNZG%p-J51OokaHPWJN?jAk^&)|1WJy1mFuSnH{WCT<{F&?~PTR7T zmmI3CTX|sV((nb_Uh6#C({T@k++mIxN6VoTMY-wnUKz+ert1~wywq)wn>24+0i6jA zM(b-Lv({fcb9S|6PDL}eY-vNl-JB3&CxUAmX?m$Y$1qmI#aa7J(4AwbXWKCYgcn_G=)s7!Do0MdjKL_)Z83}D1X-w%qD@Cy4<`FBXn5zQ%0Ad zvBnk9nxS`&!TFtx$~P8QRIDp3BtAX(R8+aSp}Eg7SEU^LKA2eo`-|ayVj`-S_yhiA z7Ie~UfTzVmB~D8xDdK?0n6@@*VD0V8uU*r9P2Kf~?ywd(oAiWY)0APC*{^vJcW!kg zl0TkF^kA)o9*Fekg$(yrcxHui$)Rul7hcr-$!Ol@7yHn!ea&6}L_@~&qb0o3oIibuo9=lO4#;s2#t-K z(CA5&vODz&asp$L7o!*UA9Wz)$jXH$j0K8Fz_1Gamig=#R+Mb+SXTF=_NBF#k?Lxr z1j_XGwBIbG^9E3G!puX-!VD|l-NNfb;CMWxh?YwA=&+%dBq!AKezhU$kq)5 z?bn2V2LxP|y;pi&qEbgw_6R35ABWa>N*XBx*n%ROt$!yIqyVIOJvm97(XsjhF70%l ze;doR>t0(C*FihgztA-EGnH5OyJ6K4DPEhg@s+RZ_s$iox8O8;MT#*)DEsr=OJ|~c z08s2rClx(tjI@j~6tWNEu^7CQ4}J%a4-XlLc+?Knr^sk#$V|v?PXcomlM-83ov`jw zQf|lCTX4QnTStbHm-_s~$qGiTCd?Fh4i})C_V33TPpuzJr5L>E#+0Tb{q%rd2c@n$ zeY{U2K=+KAw>{~QZaY#*`95z~bj078N=EYy)0^=EY6ig({PHEGGuM#)`+pVQ^zw7BS1ooP zuh_P{?m{NnZ6|u1W23(w>l*}KN_EYGvEIONSnnKDO-1GJ4bE;w!Lo13FB+`RFUZ%2 zxXd;vL`c{0I#rM2>h)B4LqoIX?Z13wDAz|;b7I_w8{Ry91kaF$-g~j=@V)J=W>OJ1 zP}4%}QmJMr_bjzQeg zid{IPBa7{D2K&ErB#}tNcHFgRFY2jhAfj_hBD0@0IK3_wUe<&I=hCN&sfL?eA9~X*E z-<#B63r)@|aRam792z9O!X7E$W~$IIT*y4gUica?`oq~QeV;}ZXQbCojcgbk9C@U> zOSGhtMGziGSaAdj)bBamvMnRLZa)zZWHzV@ghQT?^)TM+k-J$O`8tmqu}YUKaiPaI zJU_=%RD=_&4#XiT#eqb;``uWS{3o6Wb~q`H0)$U5xcoSBmqWx|dsAeekl7i z6iDk)T@WcHKKey`JNhaP&+{O0E?^BLjj9RR(~6n+a diff --git a/Example/Media.xcassets/price_on.imageset/price_on@3x.png b/Example/Media.xcassets/price_on.imageset/price_on@3x.png deleted file mode 100644 index dfc8e5bcbb6c60d0aab2e1ab5e2a1302dfcb7ce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3507 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 diff --git a/Example/Media.xcassets/allergen_on.imageset/Contents.json b/Example/Media.xcassets/price_selected.imageset/Contents.json similarity index 67% rename from Example/Media.xcassets/allergen_on.imageset/Contents.json rename to Example/Media.xcassets/price_selected.imageset/Contents.json index fefa164..3f6398b 100644 --- a/Example/Media.xcassets/allergen_on.imageset/Contents.json +++ b/Example/Media.xcassets/price_selected.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "allergen_on.png", + "filename" : "price_selected.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "allergen_on@2x.png", + "filename" : "price_selected@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "allergen_on@3x.png", + "filename" : "price_selected@3x.png", "scale" : "3x" } ], diff --git a/Example/Media.xcassets/price_selected.imageset/price_selected.png b/Example/Media.xcassets/price_selected.imageset/price_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..37b6aba5cc5648d554e94728ba1f9cb46375f853 GIT binary patch literal 1422 zcmV;91#$X`P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1v5!RK~zW$?NwcDR7Dg%XJ+obyIr>3-fc@M z?Lw)d7!o2S(P-2V5G5KwB|I32CPgD45)~gL(GY`1kvDx16MurB77c1t6lhE&F^VyW z7!agFQ_Hr1bpN+|e`dyWw{&S6Ad&FsWbd6jGv}P|oNvCF1^B;R0|t;{7}2Jt8bH+7 zARd6$n3Hk{&YUTXk0)ZyQ*UR;x6?uej54q^Dly*pGGh&z4ORRRu~zuoQUDvq+Y1C8 zMvjxq3jrJAJNI;W@Piqe!G^>PoY;i0mUx?QSN=1iWO6$&seY@{cpkFU&<@%(wwY9eB zh}#Mnn{PL_tq9^(z%&k{2a_Z1`UBr&DTNPAM$%yNV?g8aiKYqb<8kx|$YdNGDc?DZ z{;K4>`|fB=_HJ^uUd^@EC8Bh7Z5*eVCTUKtqL}6|SfF|an@Pf3psp@D0v7bgyN|w{ zaoy)$IWw3f>)URrs#48{$pSG@B_u%oVZEzo)L3HwK+}}BP{K(^Ly1%iwh%b4rdoQ4 zH`$5Ab(P8x`6M*>vvw#Na9o+6+tX8u@BMnq8)wgYOk=~$P?!xL-@u5@CC3%X+~84C z>0F}B;Y@$Y8HTC2fL@qoTHHXih?6)uCalIJl*lL9bv zRM{mZfiw1K!fu>Og?yBE^3PX^&^}74lcEWFAk2c?g3CfPMlW8zYRJ0WmxE!aX-59C zLfCDEvD=7QKXN4vjXHD6b5vkLS0Dv|A>Vf&P^kOrB9W~jGyGCR*SDWLTAichAb5^@ zp6@G3CPrGI)IEyHt>hmhQf~AI5HK{t7BN8Q)x&xN|!5IoVMY z<3mJ^!HxHnQX8xHeDP}kyoE~{<8M;dCea7G3wd>@SmXwSUFl43>dLqJIA{|he}ILH zel3+6W`;w0x=EK5ZN9Ie{pr@WEHJ(yBKXum2#1`KdgkCaKReG@N9df2Pv^>==FH2R>I1Hj*y&wry8?p^(XoML$h#)YAW- c*PelY0S*{G*5_PFi2wiq07*qoM6N<$f-{_?Pyhe` literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/price_selected.imageset/price_selected@2x.png b/Example/Media.xcassets/price_selected.imageset/price_selected@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..01ae7cc44306a35e959eee868f385a26967d0662 GIT binary patch literal 3528 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 IM6N<$g04MS6aWAK literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/type.imageset/Contents.json b/Example/Media.xcassets/type.imageset/Contents.json new file mode 100644 index 0000000..7599749 --- /dev/null +++ b/Example/Media.xcassets/type.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "type.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "type@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "type@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Media.xcassets/type.imageset/type.png b/Example/Media.xcassets/type.imageset/type.png new file mode 100644 index 0000000000000000000000000000000000000000..346ec2785f24e6b8b0d3cc30b2c5be9eab64a3a5 GIT binary patch literal 850 zcmV-Y1FigtP)Px#32;bRa{vGqB>(^xB>_oNB=7(L0{2NoK~zW$?NvQb6hRn%XLk0>10xc&FWTDNnVemn3%y<13y?3LQoI~BwR5G`JC3Tudn|E zh8SZUnC}x46V>(t3-_%0x%ztW;@};$jS%nvqenP8#OvW`_wsVBM_Xy<*Up>Dc;#+; zu)@j&7mpgh8_$9yICP2XvM-M)kVj#}fUjrvxk*+TS~qQ)=9MrEr4+JhkfD+=$@DqQ ziBrP@juOUW?pT(^qbT}@mcG@XEKlsm!@l!oFRLRKMTfZ#mW)y7IA7socx!^}IN9PRd}$knP&Y}?kU1Eah*3eveQ!TP)Px#32;bRa{vGqB>(^xB>_oNB=7(L1mj6WK~!i3?OM-o8$}eJnca2l;FgF(BP9yz zsTaF;Q6$8{2MUcq`~{r2Ko0x^9FgD#;>fLsNIg}ALr+PifO_G85J8H6T;PIK2`NR; zGdreBXO-=FRL*7%QakK;ePH1BC}(0uS&kZ9M26 zd}uN2H9zu|Nxvnl#3L5{+pIV5nzWmyYfrmrde0X27f#8!CIVs9)OKtZ_`&aJ^#3$W zl0=f>m)W+>gf-nj(hb9q4ckZ~Z_H56G-4V{2*JF-`_l@oL#0%rb)0h$+Lm6!(>jVTcB^xOLKMwVqC6 z-0SsDNH-5j)hmV*@ANvK*_M3^^C3zif~>{_6DyZ$wtF*EC?iWp~{cX;Ow44+$`=OqH$%w|y(F*qSE z;e6owvn3WdKlTVi$)iMZ$vgv<#WknZ*T9_a=9$3)#{jM`u#pX zTbC!Xq`s3lP#u;Fxv{bFWVFqgVU+#a-S&^zHLS=`o*EV}raW?m5{nl$5Wo~e@tLKp zGI*Y5T44*0>G4;i-gtL3Tb`R^$Y$3Z$61ZAE!9HVj!AZeec%#hvWpN}?>yf-!s4++ z+chngjpaeHs=n6c3yon7MNQwN^@R+DbN(^xK3v zY8Y|yegE%zt^Pd>N_;Aq=<(g%U56q1Nu-6G(>Mh9L@aQNIVKULb`$Eys*}d>n8F+{ z(sG$-*w)ros3P^1`^?=$n*9VJ?^;&!26Y~G5jJrkF2sqr5ywf`=jNDJ+}_@f@ZHtd z?OywxSx>}TH;cw^&yCEK6_Bqpu=j^YC((7)8Xg^yWPJDk6q=^La1EGXrVDA$7#C0~mew z!TV;MLgX)mL0GYz;h?J%%XEfuIt-D&;?Np{ zm(DP>3cTPR4)HoTaiKmqfXtsI&Z5t_9%699By8d^qsi%Qqj|HxzuzcV%D3^D{wDQ+ z$BNUA^7upV>hXr^7kA)puCK4R)8ZI2d(eAOy~3`%k3+h*aM0(3Y;@|Sg`KTO=WW2i z{~w5-AF)UGZ`N-1XSXUe3J(+>C_GSj;3f0Gf8oaU{8Y83rT_o{07*qoM6N<$f*^*S Ak^lez literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/type.imageset/type@3x.png b/Example/Media.xcassets/type.imageset/type@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..978111571ebd00f51f6d6e531441c7c7934be410 GIT binary patch literal 2057 zcmai#SvVVr8io^X?ZIeqw4v5PZM77|)L3GPtu@lcQj{*Xs>Gf~Fl}wE5Ve*d2O&yC zY3YIyrrO$KCw56h1dWbpEpf~_H|JcPi|>D*@4xt;|L#q{?B)OxJuM0V06!7uC4To# zIe*%+u0^!!`qiQb~dk8~zZ*oF|wO&Iq z)JdosW4zsY11%4b^iWN$Yna~DI~w|cKR{cSj@@CJAPQi2lxH>u`XUlL2Kxr~nWpao zTokcMYDyxG0{;!Qyrkif9zCB{e{l(k_UCQ{Uuv{mCL}sBkX(T#ECm)SB0l~ilyp7VB8KBHwjFF(9y1Ur>?576FE3D z=Ci6S_p@mE4DnX8xKk;~xQ5k;Q6BiCuDb-Xnn1w#`_S)uy4dM;uUBmGt>I4m?X?Mc z076&I6Re5eTpH@J2>e{Q{w0K7P={AazQ%7KE_wyOyJ&{K4u`(~9ZS&il1D0Q!ESmXuKnhst93ozn5AQm3ws^saa@RGn`Mq!taRT{so7PPSqA2^**+JEPU zfgeX1X=60zlm^P7q7LWyq$}p5 zhtA~ZsY%IVWl!hJYU&1fK}pVZrSgjDJ_-62Dzu~H!Qn|uUQfT5pqox zug0M3i3JyvW0(+n4fI0Wakr&9q_3%7==*Gyfo`_YRMNWm37>(b=aMQiDMR8V{^lUd zg}EW=Pf3`(XP@P+n^~I%_t?cOU^v2$9UCcGLpF54h~K1jt)p!|>tO&R7v6Cza4Msw z?P3N*$?j3Xa~?0oKHz8b-WRc9sWPHer1L0|#T$b=0bzBi;WTlIXOK|Ee)Cv)m9b7| znM7`st53-7A1ldH5i_j;F|n~_j}ARIGH`6=I1(tZ^kKE-T%h7$R^#05O3>?kzdb>*X{{dE=TNWj6wyeLCUvQ$)e(X& zM-sg$$6~XG_jY$(9xV+5ve8J2zV#!I6W%QvB;R(PQOulxcerhZte<}>)#B@TvUulv zF_f)xmz$Tn-%T%{-R)1g8ZgPnt;cJ@!a0WH_mj%3&~s~>o1`gw_xn zX@oE`i4s4{(G~^bQ9B#6(iq*vk%+o_WY$`))CuF8tYxs0cSUx=SzebKekuG(_cJ6g zVd4Yq^*_U=M=rt0IW!Z!G=f_xy!x;h*H2;$DyQ90^dWm0oM&K^Bpi@B(K4NT(9Tb}lI?;S5AG27q+x^fL{sgZLln zev{38G-mOSu?pMNt08~!{9|WD(zXzobhT{%UG&!%tdctH=^p8LXpASPc6uT$d`9YI zFv{jR_UQHF6NSCLlCs5xQ-3)Z=rJ0*7WKx7Pct(!>AtMV6(%k|KI)`k&Ul4?;U79X z19N|Tur2)773g4Dd_h_AFL?PpAf>UWF&a@4^4P{sj6g0opTULBe@$=z_Y_}wax3M5 zpP~vNxileCwdj1>1$)}55Ga20dL(}BPe4f6qPffj*k|lRVUe00aQ&PzG)+KQSV|d* zf25g|1o){*D-va*YOmEfN=zGNCUNdq5HDVIzqQkymnU;3XX!Dt z{9ACe=t$&jI;Qg)nbBKo6WWw>sZwq=74?*TSGCe=%9__bre@MjrBb7t7Z|RMK$jbBHYfU!8B!Aj9&YmW=kuR(d!NlLPit)-f=~% z%Umwk0)aq~=b4jDJ#j9hwY9aT+|z%?4Q}8lb#-+#{^oJK7i41Fu(Qg+8NCqAenp{B z(D$q4Jbb;Mu(Y4*uLyxC|IqX5*&&nm%wMYqbJAzuw)-S^d@r}tU0ALvYR2)aJkPm; zK%oB2Y<=-t5czHPSlzo8lX~A*&6CUZ!jzOCGxIs34`NGIRTY!1h!hvc>TWvyj~V~% e$!r&a!(-f~=@+weU*wN;4se3F*)`bsr~C_~68b#= literal 0 HcmV?d00001 diff --git a/Example/Media.xcassets/calendar_off.imageset/Contents.json b/Example/Media.xcassets/type_highlighted.imageset/Contents.json similarity index 66% rename from Example/Media.xcassets/calendar_off.imageset/Contents.json rename to Example/Media.xcassets/type_highlighted.imageset/Contents.json index c06110c..b8cd512 100644 --- a/Example/Media.xcassets/calendar_off.imageset/Contents.json +++ b/Example/Media.xcassets/type_highlighted.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "calendar_off.png", + "filename" : "type_highlighted.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "calendar_off@2x.png", + "filename" : "type_highlighted@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "calendar_off@3x.png", + "filename" : "type_highlighted@3x.png", "scale" : "3x" } ], diff --git a/Example/Media.xcassets/type_highlighted.imageset/type_highlighted.png b/Example/Media.xcassets/type_highlighted.imageset/type_highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..e863137036d7e538b48137844310b8ed90391df9 GIT binary patch literal 550 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 R+4}$h002ovPDHLkV1nnxQjP!s diff --git a/Example/Media.xcassets/type_off.imageset/type_off@2x.png b/Example/Media.xcassets/type_off.imageset/type_off@2x.png deleted file mode 100644 index c2b90bc55dccd94def247a1e386b264d7a416796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1234 zcmV;@1TFiCP)Px#32;bRa{vGqB>(^xB>_oNB=7(L1b0b9K~!i3?O8o&BxM->=9}LgckeFEp;Zb| zVcFyi7dXf@SKL)v1}(J^1A^FDS&D_7h(fqZu(_+16j~ez!jVA8X1xPN(8}P?g=2ST zcm93eac7yC-P!%doyj%xg=A*l?|q;5d;h+_FjlwP1GNWg57Zu5!2{9?vXN*QhRW&b z>HB8OeA%{aAvoRCnbo&`-q_gqT#_VDNGOL%$)O9A4-O9G_4V~PFEuaS7|A0cxkjVG zVC+N4ehGnRYXFTn2m-6$@3YY;G9X-Hh2(i&B(sE1sC(rI#9BD#^!kTmJGWI;?Z@=w z({VmG_km7z_qekE0&^!^6Yh_V)Iyd4t;D-#2$|?)Y(EQZ}X)eF_!v z@$vCnhGD#p(5Lbh1&A?+GL+s@HTA0NxuYNqzLlBmf}X-AUZ43Ym-uU{qBdN|{S$Hz zK=-q}3fg!){$^`y>#Jo32}MBDv>R8}uIyUYT*tCWPBR)9(r0&(Qlt^XfEiNhD#rQ7 zJYLf@*^_^s{Dr=941mJFhr{6+yb{b)n51QblJf682QGf( zP@ZN8ik$~6INR)Oew@@lWr&HGCEjVan(LnX--H9fXn{h(F#Ug-rjzgz$oqY=;$ak8b%6F z;u6zG`s4O?`!v-t`N;L6#Vpm(4F<1J#!Qo6Mwmc8EP{glh(<$aH`w3mNW9^Ns(T_H_H5yBvj$8xU?KV~XyCit>)5&M1W^P@S z0ob}owrBrvt#j>zyn)B`+!Tr#vQH|uEUm2X|AUPcL`7-8F25XDd8UNPymK zHbWS2S%5XgQq+J@Ql(FL$a$;PD%Akg88+t8>QCnjVeFy?&=T{CVH(esy|2R#04wNl z$Oj+fu0q5uE_dVZxK-c0pT(8Mo*5inXC|SlsScFN~q=R%lJ%4(CnH=>C zyAl7ycoClZ6i2)}xCd>CfEVS#eQ6(;XWzk~5An~BUq$4F4InT8E4^OtB^c5a0WZn} w{6VMF`33l?OXQ+BHGl1a+5@!*F3to00;{jyN=Lqh`2YX_07*qoM6N<$f^iIDj{pDw diff --git a/Example/Media.xcassets/type_off.imageset/type_off@3x.png b/Example/Media.xcassets/type_off.imageset/type_off@3x.png deleted file mode 100644 index 070d4efeb0ffbbbea69aa2762494ff8f18477725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-D$|I14-?iy0Wi zR6&^0Gf3qF0|PUIr;B4q1>@UU`|~e5h#bG~y3)&$!%eBJETLOhaLQ6?ADy1R;t>-h zelTktJa*y;)0zzin+y)h3vhHvw>CEVxN3+l;PP7WT4`P!b1nAPb@Q0(wb^qI6dazFcxNRq zv%M6@4tKLefQ67_LbZy;mG95AjA+k|JmMs-y=gT(Ed2IUphtbx}|F&M*e`i^>y0+TcaFz?@ zVik(Ig;Re?zT;;rx#%XmY=#4G1B=78<&|>V_)ji3cKYYFqty5Rx)y;B21Wr7ArITL z{(5gGe_VL>x}tkc>?XmokR6GOOy6Ep&z^X0&-+A+_A^gvT6eZw>dH8pX?Mh8KcmCv zoh^G;2EUon7o8|#el26I^w#uSv+_R2{5QG0zlm>NP`Jm%$!jj1{OjHA8@pt(^oK=j zg=;sOYG~ZZ+GeMc6qZ!>`|j#aW~s|k9gkdZX52SC+TzUNz@Q=^aA#%rmosIv-W~lV zV%u@^s@acwRtxV3tT$9RUMS~U{7Lxe?>`50ZiU`7yL@ro<6~cDcO8{dnZTsLAjH9u z_t@0qgmdZseRp4f-L_;$>W``Gr9v*<(cl%R-@Ea2cUiI|15ef)=_3-YQ;ytRajjmG z#oqHR_1;<`r6>u_C?B#(- z4;zm)uV+7>!!2I5@#@PGsn^o4*Z=5<-7LD{#9N7Tzdv655w`p8wmOz<+omR2ZZ7_e z4R0scPq(jqSup);QiRfq!Ud`qL^8CQmb>_RumVE@ftL3ih<~(U<;4Swr_TXq5C%_I KKbLh*2~7Z^VSmd2 diff --git a/Example/Media.xcassets/type_on.imageset/type_on.png b/Example/Media.xcassets/type_on.imageset/type_on.png deleted file mode 100644 index 4d0d0302ffe404d33fdc84653116567108f2465d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 747 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 iUQpXcBJ0000 #import "NSString+HexColor.h" -#import +#import "UIButton+BackgroundColor.h" @interface TabBarItem() @@ -83,19 +83,12 @@ - (void) setHighlightedColor:(UIColor *)highlightedColor { _highlightedColor = highlightedColor; - + [_itemButton setBackgroundColor:_highlightedColor forState:UIControlStateHighlighted]; } - (void) setHighlighted:(BOOL) highlighted { [_itemButton setHighlighted:highlighted]; - if ([_itemButton isHighlighted]) { - - [_itemButton setBackgroundColor:_highlightedColor]; - - } - else { - [_itemButton setBackgroundColor:[UIColor clearColor]]; - } + NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isSelected]]); NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isHighlighted]]); NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isEnabled]]); @@ -103,14 +96,6 @@ } - (void) itemButtonTapped { - if ([_itemButton isHighlighted]) { - - [_itemButton setBackgroundColor:_highlightedColor]; - } - else { - [_itemButton setBackgroundColor:[UIColor clearColor]]; - } - if (_delegate && [_delegate respondsToSelector:@selector(tabBarItemSelected:)]) { [_delegate tabBarItemSelected:self]; } @@ -118,7 +103,7 @@ NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isHighlighted]]); NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isEnabled]]); NSLog(@"%ld",_itemButton.state); - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.002 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [_itemButton setHighlighted:YES]; }); } diff --git a/Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.h b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.h new file mode 100755 index 0000000..78f88de --- /dev/null +++ b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.h @@ -0,0 +1,15 @@ +// +// UIButton+BackgroundColor.h +// UIButton+BackgroundColor +// +// Created by Luu Gia Thuy on 7/28/15. +// Copyright (c) 2015 Luu Gia Thuy. All rights reserved. +// + +#import + +@interface UIButton (BackgroundColor) + +- (void)setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state UI_APPEARANCE_SELECTOR; + +@end diff --git a/Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.m b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.m new file mode 100755 index 0000000..0a7d3da --- /dev/null +++ b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.m @@ -0,0 +1,20 @@ +// +// UIButton+BackgroundColor.m +// UIButton+BackgroundColor +// +// Created by Luu Gia Thuy on 7/28/15. +// Copyright (c) 2015 Luu Gia Thuy. All rights reserved. +// + +#import "UIImage+Color.h" +#import "UIButton+BackgroundColor.h" + +@implementation UIButton (BackgroundColor) + +- (void)setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state { + [self setBackgroundImage:[UIImage imageWithColor:backgroundColor] forState:state]; +} + +@end + + diff --git a/Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.h b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.h new file mode 100755 index 0000000..38762d4 --- /dev/null +++ b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.h @@ -0,0 +1,15 @@ +// +// UIImage+Color.h +// UIButton+BackgroundColor +// +// Created by Luu Gia Thuy on 7/28/15. +// +// + +#import + +@interface UIImage (Color) + ++ (UIImage *)imageWithColor:(UIColor *)color; + +@end diff --git a/Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.m b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.m new file mode 100755 index 0000000..040e5be --- /dev/null +++ b/Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.m @@ -0,0 +1,27 @@ +// +// UIImage+Color.m +// UIButton+BackgroundColor +// +// Created by Luu Gia Thuy on 7/28/15. +// +// + +#import "UIImage+Color.h" + +@implementation UIImage (Color) + ++ (UIImage *)imageWithColor:(UIColor *)color { + CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); + UIGraphicsBeginImageContext(rect.size); + CGContextRef context = UIGraphicsGetCurrentContext(); + + CGContextSetFillColorWithColor(context, [color CGColor]); + CGContextFillRect(context, rect); + + UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return image; +} + +@end From 4d7c6109a6164d80b9acbd4726aa3756a12f23eb Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 18 Aug 2015 12:17:26 +0200 Subject: [PATCH 10/13] no message --- Example/Podfile.lock | 4 +- .../TabBarPicker/SharedLocationManager.h | 1 + .../TabBarPicker/UIButton+BackgroundColor.h | 1 + .../Private/TabBarPicker/UIImage+Color.h | 1 + Example/Pods/Manifest.lock | 4 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 614 +++++++++--------- .../xcschemes/TabBarPicker.xcscheme | 2 +- .../PureLayout/PureLayout/ALView+PureLayout.h | 84 +-- .../PureLayout/PureLayout/ALView+PureLayout.m | 358 ++-------- .../PureLayout/NSArray+PureLayout.h | 74 ++- .../PureLayout/NSArray+PureLayout.m | 87 ++- .../NSLayoutConstraint+PureLayout.h | 50 +- .../NSLayoutConstraint+PureLayout.m | 290 ++++++++- .../PureLayout/PureLayout+Internal.h | 27 +- .../PureLayout/PureLayout/PureLayout.h | 9 +- .../PureLayout/PureLayout/PureLayoutDefines.h | 38 +- Example/Pods/PureLayout/README.md | 269 +++++--- .../PureLayout/Info.plist | 2 +- .../TabBarPicker/TabBarPicker-umbrella.h | 3 + .../TabBarPicker/TabBarPickerViewController.m | 35 +- Pod/Classes/TabBarItem.h | 17 +- Pod/Classes/TabBarItem.m | 54 +- Pod/Classes/TabBarPicker.m | 119 ++-- Pod/Classes/TabBarPickerSubItemsView.h | 20 +- Pod/Classes/TabBarPickerSubItemsView.m | 130 +++- Pod/Classes/TabBarSubItem.h | 3 +- Pod/Classes/TabBarSubItem.m | 12 +- .../Vendor/MMCPSScrollView/MMCPSScrollView.m | 23 + .../SharedLocationManager.h | 23 + .../SharedLocationManager.m | 78 +++ .../ToucheableScrollView.h | 13 + .../ToucheableScrollView.m | 44 ++ 32 files changed, 1487 insertions(+), 1002 deletions(-) create mode 120000 Example/Pods/Headers/Private/TabBarPicker/SharedLocationManager.h create mode 120000 Example/Pods/Headers/Private/TabBarPicker/UIButton+BackgroundColor.h create mode 120000 Example/Pods/Headers/Private/TabBarPicker/UIImage+Color.h create mode 100755 Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.h create mode 100755 Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.m create mode 100755 Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h create mode 100755 Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 2a5c58c..d6951cb 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,6 +1,6 @@ PODS: - pop (1.0.7) - - PureLayout (2.0.6) + - PureLayout (3.0.0) - TabBarPicker (0.1.0) - UIView-Overlay (0.1) @@ -16,7 +16,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 - PureLayout: f25f0bb904d5ccfe6e31da3cb869185259f02e0d + PureLayout: 270dfee2236f697ab1d5e2771c2e5c248495fa0d TabBarPicker: 0b8b0c04ad47ed9c740cef5d31cac7fefe6cb273 UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 diff --git a/Example/Pods/Headers/Private/TabBarPicker/SharedLocationManager.h b/Example/Pods/Headers/Private/TabBarPicker/SharedLocationManager.h new file mode 120000 index 0000000..f9e24d4 --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/SharedLocationManager.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/TabBarPicker/UIButton+BackgroundColor.h b/Example/Pods/Headers/Private/TabBarPicker/UIButton+BackgroundColor.h new file mode 120000 index 0000000..7ad48d4 --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/UIButton+BackgroundColor.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/UIButton+BackgroundColor/UIButton+BackgroundColor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/TabBarPicker/UIImage+Color.h b/Example/Pods/Headers/Private/TabBarPicker/UIImage+Color.h new file mode 120000 index 0000000..daaccb5 --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/UIImage+Color.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/UIButton+BackgroundColor/UIImage+Color.h \ No newline at end of file diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 2a5c58c..d6951cb 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,6 +1,6 @@ PODS: - pop (1.0.7) - - PureLayout (2.0.6) + - PureLayout (3.0.0) - TabBarPicker (0.1.0) - UIView-Overlay (0.1) @@ -16,7 +16,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 - PureLayout: f25f0bb904d5ccfe6e31da3cb869185259f02e0d + PureLayout: 270dfee2236f697ab1d5e2771c2e5c248495fa0d TabBarPicker: 0b8b0c04ad47ed9c740cef5d31cac7fefe6cb273 UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 2c57e0c..a404e00 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -9,11 +9,13 @@ /* Begin PBXBuildFile section */ 03208AEB6A03CCA0C77A5DA3A79BD522 /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; 060E7DD819F53729654E36495DF47426 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07501B134439D43A603B50365BAB8C36 /* NSString+HexColor.m in Sources */ = {isa = PBXBuildFile; fileRef = ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 0BFE7C394E8150EF5FD76D3675116D48 /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0EAB569A3E1579E852A97E70B2A52B19 /* UIView+Overlay.h in Headers */ = {isa = PBXBuildFile; fileRef = B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0F7B5941BC1A4A320845B9B863551176 /* pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 108E0EDA81BB5E6B0343D317882BE687 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; 11C5B9474617E9D2DB312798E38A2DC9 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 141AA641914936AB790CE6FCB178B1D7 /* MMCPSScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 15EBB865A82DF72209B0E02819463060 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; 15EEB9A75A38BB0F7C3B2448A705AD83 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; 19022D54C183B386CBCC3929AB78ED45 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; @@ -21,79 +23,80 @@ 203E916178B206E4760E275D94B537FA /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; 242683D9189D01DB10D327BD4807ADF2 /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; 242F2CEE058E9AFB0886BC75D30F5897 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 27612C6A0F69DAD74E0FEB17816B9E15 /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 29B97DBB30EE19D048BEC6E25E9F9F14 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 2A65286B5726E4AF0A5395E6B035F614 /* NSString+HexColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2B787FFB562C10AD02FE1C9005365F43 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E7293FA79CA8E73693C7D7C838206AD /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E0DF9726324591447BF3C7A6CC8F6FD /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2D696A7493C3B7A7DC34C3857719B884 /* SharedLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 30BE2AA9FA254A8A54B20C5D1C439CED /* UIView-Overlay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */; }; 3329AF43344F94C2DD9A49EB23068CE8 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */; }; 34EC1894BF64A676F556AE2782F2E2A6 /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 3515851F45C9BB3FFDDD122095FF7797 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 384CE5874312610CF1414126D6E41435 /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; 38792B4D4276C59B21ACF9B4DE6ED4F5 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 399306C358953571B5B236714BAC0F0B /* SharedLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3C2F3F5F1497E202882DF7598F703088 /* POPAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3FC1CA95A408FA5E1A57AC93B0C8A988 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 74ED984E73B0A43CE00E8EF6E51000BC /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4878C076CDFE4C3EA1F69EA060123C59 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 989E7B3B998C2F701E914FC9BCEA3C4E /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 48D0C42EEA0F59047616F9D4F51FBD10 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4A629B0B3B3C72CBCC07FC57FEB9FFB5 /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4BD95F156CB439EB08218A9B1BC10F87 /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4EBD0FC5A72489379615C5E2E3A9C03D /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5408B931355E2EB35B43B6E44EC7075C /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5894F10E4EE16E60EFEA6CAF8F39BEAC /* TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D0EB7072D641D8EBF0FF6E2866DAF7B /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 5E9A8D95ECF3F7371BCEA9B70C879960 /* POPPropertyAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 60616CBC5FED53D41E314BD96036FCA0 /* POPAnimationTracerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; 610E3F00DD9A11CF2B3AB4ACDF9F2C88 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6115D515692E38D8D809451232B83C52 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 688F8F6C1B7515A7008E28C8 /* UIButton+BackgroundColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 688F8F681B7515A7008E28C8 /* UIButton+BackgroundColor.h */; }; - 688F8F6D1B7515A7008E28C8 /* UIButton+BackgroundColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 688F8F691B7515A7008E28C8 /* UIButton+BackgroundColor.m */; }; - 688F8F6E1B7515A7008E28C8 /* UIImage+Color.h in Headers */ = {isa = PBXBuildFile; fileRef = 688F8F6A1B7515A7008E28C8 /* UIImage+Color.h */; }; - 688F8F6F1B7515A7008E28C8 /* UIImage+Color.m in Sources */ = {isa = PBXBuildFile; fileRef = 688F8F6B1B7515A7008E28C8 /* UIImage+Color.m */; }; + 688DF0C01B833D0D00FE093C /* ToucheableScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 688DF0BE1B833D0D00FE093C /* ToucheableScrollView.h */; }; + 688DF0C11B833D0D00FE093C /* ToucheableScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 688DF0BF1B833D0D00FE093C /* ToucheableScrollView.m */; }; 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6E03012F2843C461762C74A9A046EF2E /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */; }; - 6F1FE5900883A92AFA28F808B14E8726 /* TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AFFA73876E348EE6186525790CF479F1 /* TabBarPicker-dummy.m */; }; 728A5FCB02E1760C95DEA5ED83A2C1C5 /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7391D8870EF96C08872561E1821F1085 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = F7CFC725DB20421AA2759A672603A491 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; 73F5A493933876566BFE1C7557D058E0 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; 758F4837B21699E995B3DA7873BE5AB9 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7635805E27D4F352CC4AC4F3E0B2228C /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7687E83DA7BAC649B3BFB96A702B8EF7 /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 787808E143D0036BA6D65469240A1653 /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCCE418ABC02DF7186BCDA0CE8F42A6E /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7997BBF6E3FBC7DF5295ABF7224B89A4 /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7BE5B65C18977D405062ACF22B6EF38C /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7C632502864E8AE6F403AE489B593056 /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7C6672FF5BC14E5A632F38FBCF4D84F6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; 7D895EB8CC992C0E734A1AC7E73F7D41 /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7DCA23DE188D729056E041F49C521C1B /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7DDBA8DBAAFFC333C9196889504A8897 /* MMCPSScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DE7A9BEF575A7AF5C663E711314C1F6 /* MMCPSScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 800AE2604DB4E050529B32FB08E5D2CF /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 85005EF9A1EFBDE7B923C85541044847 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 860781420B1293C292A4A3D52E9F50F0 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A142C2387752EB8F0CBA87864EC1D9F /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8684DD0504E7EC38B91A22B510C6A01D /* TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */; }; 870316C705D226E9990777155D6AC4EC /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8B9B75C7523CEBCAF2D86154DDFA98AD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; 8E2CDC7269B59EAC84AEA46D5E28B826 /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8FB29797E35802BE65A888432368F471 /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93B87741D4207E22B2E5DDB582C68829 /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; }; 93F5920F69AC785B428577FC0BE0882B /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; 95540F361B7B0ADA359C7E7FDD208D1D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 96D7ABD08A98128E60E0F50069359FC0 /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; }; 987758B8CC9AE1B9722212C159E99125 /* Pods-TabBarPicker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */; }; + 9891293FB5D8A4C867C6FE6108C67500 /* UIImage+Color.m in Sources */ = {isa = PBXBuildFile; fileRef = BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 98DE61629DE81688A6D460FF03DD172A /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A1F2D95F436714051CFE1601C09ACAE9 /* NSString+HexColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 87FF45FA0B37BD605BC79D61F412B4DE /* NSString+HexColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A1A922D53B283BE53F75515F470D2755 /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; A30219FCF9EC37ABE44DC610005C2595 /* UIView-Overlay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; A7A6A047CA9F0ADFA09FA3F58E8DA1E3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - AE6D434ED9230B1D615A2DD259CB6038 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; AEB41D63ACB6BAF7B6DA8EAB5DBFDFEF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - B020FF612A093F9D08267D37E81E8A10 /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 5316CF84EF6CC8F29F5C8F65E47C6EE0 /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; B2E46B8E61B80795CD4E94081F3A51C2 /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; B373D36B22355D41ABB9B75F3EA0BBF2 /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; B4DBAE098AA6F80CDCDFB1BFB6F6A7AE /* POPAnimationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B65A29FBEECF62A70B2A981ED1AE3BC9 /* UIButton+BackgroundColor.h in Headers */ = {isa = PBXBuildFile; fileRef = EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B807414C5B82738C9AE261FC4BD35633 /* UIButton+BackgroundColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B80B8212180CFDFFDCA9568F41595AE0 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA97F812224F556023C97037E1B9B768 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; BCFE039CCE625E616A25871D8BB2601D /* UIView+Overlay.m in Sources */ = {isa = PBXBuildFile; fileRef = CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; BE8FD01BD558BC524643D9691934BCDF /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */; }; C07804D5CAE775845193B0BDEAE8153A /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C83D6A4F894219C63C6ED47E108D3EB3 /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 52CE09C3405F59D40C2BD3971985CF59 /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D6B77498010DFE75E70431CBF7896FCC /* NSString+HexColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F188C3F24D664F9CEA0905C2C40C0F2 /* NSString+HexColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C3B4357DC8723B40B75036643935EBD7 /* MMCPSScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CBC724E48D4294B56D03568A11D05FF1 /* UIImage+Color.h in Headers */ = {isa = PBXBuildFile; fileRef = 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CCBEA17C33C968D4115035DFD75D03C7 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; D905A57ED65F1E5DFD546AA26BBA6632 /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF28F428A637429E12D16D55801D4916 /* TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A39F245747851F74126D6C816A9EF2A /* TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; E01D81DAECC949E0D350DEF8A8DEF9DA /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = D59AE80D8F830B2B594F27731251395F /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; E0C2B1971770264E2BC030EBFA522C67 /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; E2B4468A72DF980C1B77E6CC18DC82F5 /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; @@ -101,65 +104,66 @@ ED5C0B5FD3B73C3015AC56C9E5FACA48 /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; EDC72938DF5998BBBC017B2FE8B20768 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; F3A5427CD0560096A6A82144B8B59C70 /* pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */; }; + F6440C1C9D4ADB1F5FE7CB2B1D54E343 /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; F7D70C0E25A8123CCE6495EF0CF7FB85 /* POPSpringAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; F80CE9A6A3DFE7A013E36693BEE14EAE /* POPGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F959AAD4573A311BB8F79F1AF6BF166E /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; F983A03430606378AE8DC27E4BF8436A /* POPPropertyAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; F9A3864238BEAF7F67E75EF7417D7AF4 /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; FA42222184104F516C9AF6AB85A48787 /* POPCGUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FDE2C76578028195B819883E6A76B5B2 /* MMCPSScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A74066159202FC8BA84394854A1116D /* MMCPSScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 21714EBF452DB85A216D38E2672E44B4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F1D148434467C1B78F92DD483480D390; - remoteInfo = TabBarPicker; - }; - 39095C2F0D844AC1B8E8E286164D6CDD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; - remoteInfo = pop; - }; - 83FF373FD2C1D0B14B1A0607CDF77E30 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F1D148434467C1B78F92DD483480D390; - remoteInfo = TabBarPicker; - }; - 9C6221A93B45097747C1A14AAC94A539 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; - remoteInfo = PureLayout; - }; - A345134A6D386FDE4AF4A8F9E01EBD10 /* PBXContainerItemProxy */ = { + 083B093D10F9DF2FDAD39AE5222A2FB2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 31D04736AA8F72A7EDD28D5A60339B0F; remoteInfo = "UIView-Overlay"; }; - CA4CD391A67ADA84167445460CB86CEE /* PBXContainerItemProxy */ = { + 2422694340FEE734A32BAEADDC2EDAA1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = A3EDD948F9BE0382C98E8FCC6F145936; - remoteInfo = "TabBarPicker-TabBarPicker"; + remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; + remoteInfo = TabBarPicker; }; - CE8A779771949E83F912B98700B02CC3 /* PBXContainerItemProxy */ = { + 4F92234C46EF40937512047DE1C68200 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; remoteInfo = pop; }; - DDC22788C49D6AA37AFF4B7A7175DCA8 /* PBXContainerItemProxy */ = { + 54E7978A31596E0942D9395655EB6B6B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; + remoteInfo = PureLayout; + }; + 6DC4045376991B2F4FE77D1CFF871503 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; + remoteInfo = pop; + }; + 718DAA8C463F278C51EFAE2FE4DBB153 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A3EDD948F9BE0382C98E8FCC6F145936; + remoteInfo = "TabBarPicker-TabBarPicker"; + }; + 9EB5C63E5A8712567D26F5DDF85E9408 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; + remoteInfo = TabBarPicker; + }; + F1E65B36CE83A735C24042E5B005DB98 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; @@ -176,18 +180,20 @@ 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Tests-acknowledgements.markdown"; sourceTree = ""; }; 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; 09D0BE9B95DC0AB1A10C5C5CBF007372 /* pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = pop.modulemap; sourceTree = ""; }; - 0E0DF9726324591447BF3C7A6CC8F6FD /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; + 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+BackgroundColor.m"; sourceTree = ""; }; 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEventInternal.h; path = pop/POPAnimationEventInternal.h; sourceTree = ""; }; 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-umbrella.h"; sourceTree = ""; }; 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPMath.mm; path = pop/POPMath.mm; sourceTree = ""; }; + 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarItem.h; sourceTree = ""; }; 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimator.h; path = pop/POPAnimator.h; sourceTree = ""; }; 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimation.mm; path = pop/POPAnimation.mm; sourceTree = ""; }; 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimation.h; path = pop/POPBasicAnimation.h; sourceTree = ""; }; + 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; 2E30818E45DD33C5E4BDFDEE442335F8 /* UIView-Overlay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-prefix.pch"; sourceTree = ""; }; 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCustomAnimation.h; path = pop/POPCustomAnimation.h; sourceTree = ""; }; @@ -195,6 +201,7 @@ 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCustomAnimation.mm; path = pop/POPCustomAnimation.mm; sourceTree = ""; }; 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimationInternal.h; path = pop/POPPropertyAnimationInternal.h; sourceTree = ""; }; 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; + 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracer.h; path = pop/POPAnimationTracer.h; sourceTree = ""; }; 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -204,8 +211,7 @@ 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationExtras.mm; path = pop/POPAnimationExtras.mm; sourceTree = ""; }; 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TabBarPicker.xcconfig; sourceTree = ""; }; - 52CE09C3405F59D40C2BD3971985CF59 /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; - 5316CF84EF6CC8F29F5C8F65E47C6EE0 /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; + 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+HexColor.h"; sourceTree = ""; }; 5400657DC452384B43BD2099AC8BDC49 /* UIView-Overlay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIView-Overlay.modulemap"; sourceTree = ""; }; 56CBBA1282670189371B75E1895ADFC7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 56E7469FDD8353F98B7D18192EC48657 /* UIView-Overlay.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay.xcconfig"; sourceTree = ""; }; @@ -216,44 +222,43 @@ 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationInternal.h; path = pop/POPAnimationInternal.h; sourceTree = ""; }; 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPGeometry.h; path = pop/POPGeometry.h; sourceTree = ""; }; + 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Example-acknowledgements.markdown"; sourceTree = ""; }; 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPLayerExtras.h; path = pop/POPLayerExtras.h; sourceTree = ""; }; 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; + 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; - 688F8F681B7515A7008E28C8 /* UIButton+BackgroundColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+BackgroundColor.h"; sourceTree = ""; }; - 688F8F691B7515A7008E28C8 /* UIButton+BackgroundColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+BackgroundColor.m"; sourceTree = ""; }; - 688F8F6A1B7515A7008E28C8 /* UIImage+Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Color.h"; sourceTree = ""; }; - 688F8F6B1B7515A7008E28C8 /* UIImage+Color.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Color.m"; sourceTree = ""; }; - 6A74066159202FC8BA84394854A1116D /* MMCPSScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMCPSScrollView.h; sourceTree = ""; }; + 688DF0BE1B833D0D00FE093C /* ToucheableScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToucheableScrollView.h; sourceTree = ""; }; + 688DF0BF1B833D0D00FE093C /* ToucheableScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ToucheableScrollView.m; sourceTree = ""; }; + 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SharedLocationManager.h; sourceTree = ""; }; + 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SharedLocationManager.m; sourceTree = ""; }; 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; 73CE6B07292175B9D39CBFFC0DB41A60 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEvent.h; path = pop/POPAnimationEvent.h; sourceTree = ""; }; 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; - 74ED984E73B0A43CE00E8EF6E51000BC /* TabBarItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarItem.h; sourceTree = ""; }; 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPPropertyAnimation.mm; path = pop/POPPropertyAnimation.mm; sourceTree = ""; }; 76E4E222A31EB57B3FAE7BD127882279 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationRuntime.mm; path = pop/POPAnimationRuntime.mm; sourceTree = ""; }; 79ED7F11B8B30282685F622BDF426547 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7DE7A9BEF575A7AF5C663E711314C1F6 /* MMCPSScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMCPSScrollView.m; sourceTree = ""; }; 7EC4CA78903DD6994C05A85DCF5F68DA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+Color.h"; sourceTree = ""; }; 845F67AAF14F34F0F944FCABA8A1C95F /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; + 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-umbrella.h"; sourceTree = ""; }; - 87FF45FA0B37BD605BC79D61F412B4DE /* NSString+HexColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+HexColor.h"; sourceTree = ""; }; - 8A39F245747851F74126D6C816A9EF2A /* TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-umbrella.h"; sourceTree = ""; }; + 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; + 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAction.h; path = pop/POPAction.h; sourceTree = ""; }; 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimatableProperty.mm; path = pop/POPAnimatableProperty.mm; sourceTree = ""; }; 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "TabBarPicker-Private.xcconfig"; sourceTree = ""; }; 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; - 8F188C3F24D664F9CEA0905C2C40C0F2 /* NSString+HexColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+HexColor.m"; sourceTree = ""; }; 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimation.h; path = pop/POPDecayAnimation.h; sourceTree = ""; }; + 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TabBarPicker-dummy.m"; sourceTree = ""; }; 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPSpringAnimation.mm; path = pop/POPSpringAnimation.mm; sourceTree = ""; }; 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPVector.h; path = pop/POPVector.h; sourceTree = ""; }; 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView-Overlay-dummy.m"; sourceTree = ""; }; - 989E7B3B998C2F701E914FC9BCEA3C4E /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; - 9A142C2387752EB8F0CBA87864EC1D9F /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimator.mm; path = pop/POPAnimator.mm; sourceTree = ""; }; 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-prefix.pch"; sourceTree = ""; }; @@ -268,7 +273,6 @@ A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-umbrella.h"; sourceTree = ""; }; A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationTracer.mm; path = pop/POPAnimationTracer.mm; sourceTree = ""; }; AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-resources.sh"; sourceTree = ""; }; - AFFA73876E348EE6186525790CF479F1 /* TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TabBarPicker-dummy.m"; sourceTree = ""; }; B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Example-acknowledgements.plist"; sourceTree = ""; }; B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Pods.modulemap; sourceTree = ""; }; B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Tests-dummy.m"; sourceTree = ""; }; @@ -277,9 +281,11 @@ B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCGUtils.h; path = pop/POPCGUtils.h; sourceTree = ""; }; B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Overlay.h"; sourceTree = ""; }; + B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-umbrella.h"; sourceTree = ""; }; BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Color.m"; sourceTree = ""; }; BB49801C2A1FC4A6C872E30D1EBDF2D3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BCCE418ABC02DF7186BCDA0CE8F42A6E /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; + C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMCPSScrollView.h; sourceTree = ""; }; C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimationInternal.h; path = pop/POPSpringAnimationInternal.h; sourceTree = ""; }; C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay-Private.xcconfig"; sourceTree = ""; }; @@ -288,6 +294,7 @@ C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-resources.sh"; sourceTree = ""; }; C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPGeometry.mm; path = pop/POPGeometry.mm; sourceTree = ""; }; CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Overlay.m"; sourceTree = ""; }; + CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PureLayout-Private.xcconfig"; sourceTree = ""; }; CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringSolver.h; path = pop/POPSpringSolver.h; sourceTree = ""; }; CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Tests-acknowledgements.plist"; sourceTree = ""; }; @@ -301,31 +308,24 @@ DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPLayerExtras.mm; path = pop/POPLayerExtras.mm; sourceTree = ""; }; DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracerInternal.h; path = pop/POPAnimationTracerInternal.h; sourceTree = ""; }; - DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PureLayout-Private.xcconfig"; sourceTree = ""; }; DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Tests.modulemap"; sourceTree = ""; }; DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = TransformationMatrix.cpp; path = pop/WebCore/TransformationMatrix.cpp; sourceTree = ""; }; + E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FloatConversion.h; path = pop/WebCore/FloatConversion.h; sourceTree = ""; }; + E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMCPSScrollView.m; sourceTree = ""; }; E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "pop-dummy.m"; sourceTree = ""; }; EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDefines.h; path = pop/POPDefines.h; sourceTree = ""; }; - ECA1326C4D14AEBFBFBBD48CA93B60C2 /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+BackgroundColor.h"; sourceTree = ""; }; + ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+HexColor.m"; sourceTree = ""; }; EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POP.h; path = pop/POP.h; sourceTree = ""; }; EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationPrivate.h; path = pop/POPAnimationPrivate.h; sourceTree = ""; }; F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPVector.mm; path = pop/POPVector.mm; sourceTree = ""; }; F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCGUtils.mm; path = pop/POPCGUtils.mm; sourceTree = ""; }; F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; - F7CFC725DB20421AA2759A672603A491 /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationRuntime.h; path = pop/POPAnimationRuntime.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 49A164E6EC1A044A459D0E7CD8DA59C1 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AE6D434ED9230B1D615A2DD259CB6038 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 8D982826564F33040944F955F4866DBD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -342,6 +342,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AAAAA4342085DEFE61C54EF9A4F0AC88 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B9B75C7523CEBCAF2D86154DDFA98AD /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; AC9EEAC58C6D20FD5C0254472F5D6ABD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -391,24 +399,14 @@ 9FF196DA16906822D150C60295CBB88E /* TabBarPicker.modulemap */, 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */, 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */, - AFFA73876E348EE6186525790CF479F1 /* TabBarPicker-dummy.m */, + 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */, 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */, - 8A39F245747851F74126D6C816A9EF2A /* TabBarPicker-umbrella.h */, + B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */, ); name = "Support Files"; path = "Example/Pods/Target Support Files/TabBarPicker"; sourceTree = ""; }; - 053B4D0E654296CC9889A04F89A345BD /* Vendor */ = { - isa = PBXGroup; - children = ( - 977370A91AC8B677022217B6F7096E4E /* MMCPSScrollView */, - FFBEFBD8E8214E18E4714B2658CAC8CB /* NSString+HexColor */, - 688F8F671B7515A7008E28C8 /* UIButton+BackgroundColor */, - ); - path = Vendor; - sourceTree = ""; - }; 0CC341720DA3391596A41DBFC029A2AA /* Pods */ = { isa = PBXGroup; children = ( @@ -454,6 +452,15 @@ path = "UIView-Overlay"; sourceTree = ""; }; + 2B50D3C0ACD825270CCC306CD51D20E7 /* MMCPSScrollView */ = { + isa = PBXGroup; + children = ( + C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */, + E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */, + ); + path = MMCPSScrollView; + sourceTree = ""; + }; 367B0AEA5A5B892E97114FB4088CA6CA /* Support Files */ = { isa = PBXGroup; children = ( @@ -495,15 +502,25 @@ path = "Target Support Files/Pods-TabBarPicker_Example"; sourceTree = ""; }; - 688F8F671B7515A7008E28C8 /* UIButton+BackgroundColor */ = { + 688DF0BD1B833D0D00FE093C /* TouchableScrollView */ = { isa = PBXGroup; children = ( - 688F8F681B7515A7008E28C8 /* UIButton+BackgroundColor.h */, - 688F8F691B7515A7008E28C8 /* UIButton+BackgroundColor.m */, - 688F8F6A1B7515A7008E28C8 /* UIImage+Color.h */, - 688F8F6B1B7515A7008E28C8 /* UIImage+Color.m */, + 688DF0BE1B833D0D00FE093C /* ToucheableScrollView.h */, + 688DF0BF1B833D0D00FE093C /* ToucheableScrollView.m */, ); - path = "UIButton+BackgroundColor"; + path = TouchableScrollView; + sourceTree = ""; + }; + 6F07576C2E19EA1A65B4E924DB9FD5C7 /* Vendor */ = { + isa = PBXGroup; + children = ( + 688DF0BD1B833D0D00FE093C /* TouchableScrollView */, + 2B50D3C0ACD825270CCC306CD51D20E7 /* MMCPSScrollView */, + D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */, + 8AE381098F77067F0AD825096898C950 /* SharedLocationManager */, + C5E5D49215D38A6AA1E588A6676237A7 /* UIButton+BackgroundColor */, + ); + path = Vendor; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -518,20 +535,13 @@ ); sourceTree = ""; }; - 7F35927A828371685E9A0F8F706AFB47 /* Classes */ = { + 8AE381098F77067F0AD825096898C950 /* SharedLocationManager */ = { isa = PBXGroup; children = ( - 74ED984E73B0A43CE00E8EF6E51000BC /* TabBarItem.h */, - 989E7B3B998C2F701E914FC9BCEA3C4E /* TabBarItem.m */, - 52CE09C3405F59D40C2BD3971985CF59 /* TabBarPicker.h */, - 5316CF84EF6CC8F29F5C8F65E47C6EE0 /* TabBarPicker.m */, - F7CFC725DB20421AA2759A672603A491 /* TabBarPickerSubItemsView.h */, - BCCE418ABC02DF7186BCDA0CE8F42A6E /* TabBarPickerSubItemsView.m */, - 9A142C2387752EB8F0CBA87864EC1D9F /* TabBarSubItem.h */, - 0E0DF9726324591447BF3C7A6CC8F6FD /* TabBarSubItem.m */, - 053B4D0E654296CC9889A04F89A345BD /* Vendor */, + 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */, + 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */, ); - path = Classes; + path = SharedLocationManager; sourceTree = ""; }; 8E3BA7AF84CB1FD13CBE41AD45E2F68D /* Support Files */ = { @@ -540,7 +550,7 @@ 56CBBA1282670189371B75E1895ADFC7 /* Info.plist */, 4479B35E973BC64612AFE56A67C3A7E4 /* PureLayout.modulemap */, 845F67AAF14F34F0F944FCABA8A1C95F /* PureLayout.xcconfig */, - DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */, + CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */, 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */, 76E4E222A31EB57B3FAE7BD127882279 /* PureLayout-prefix.pch */, 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */, @@ -549,13 +559,20 @@ path = "../Target Support Files/PureLayout"; sourceTree = ""; }; - 977370A91AC8B677022217B6F7096E4E /* MMCPSScrollView */ = { + 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */ = { isa = PBXGroup; children = ( - 6A74066159202FC8BA84394854A1116D /* MMCPSScrollView.h */, - 7DE7A9BEF575A7AF5C663E711314C1F6 /* MMCPSScrollView.m */, + 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */, + E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */, + 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */, + 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */, + 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */, + 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */, + 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */, + 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */, + 6F07576C2E19EA1A65B4E924DB9FD5C7 /* Vendor */, ); - path = MMCPSScrollView; + path = Classes; sourceTree = ""; }; A2C47666731599FCB6D3E3CC764B23F3 /* PureLayout */ = { @@ -678,6 +695,17 @@ path = "Target Support Files/Pods-TabBarPicker_Tests"; sourceTree = ""; }; + C5E5D49215D38A6AA1E588A6676237A7 /* UIButton+BackgroundColor */ = { + isa = PBXGroup; + children = ( + EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */, + 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */, + 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */, + BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */, + ); + path = "UIButton+BackgroundColor"; + sourceTree = ""; + }; CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { isa = PBXGroup; children = ( @@ -686,13 +714,22 @@ 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */, 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */, 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */, - ECA1326C4D14AEBFBFBBD48CA93B60C2 /* TabBarPicker.framework */, + 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */, A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */, 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */, ); name = Products; sourceTree = ""; }; + D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */ = { + isa = PBXGroup; + children = ( + 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */, + ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */, + ); + path = "NSString+HexColor"; + sourceTree = ""; + }; DB7A392AE20A92DE460668D10ACDC19F /* Pods */ = { isa = PBXGroup; children = ( @@ -714,39 +751,14 @@ F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */ = { isa = PBXGroup; children = ( - 7F35927A828371685E9A0F8F706AFB47 /* Classes */, + 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */, ); path = Pod; sourceTree = ""; }; - FFBEFBD8E8214E18E4714B2658CAC8CB /* NSString+HexColor */ = { - isa = PBXGroup; - children = ( - 87FF45FA0B37BD605BC79D61F412B4DE /* NSString+HexColor.h */, - 8F188C3F24D664F9CEA0905C2C40C0F2 /* NSString+HexColor.m */, - ); - path = "NSString+HexColor"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 02B67A76CB09FB21493A0D4C8E7EBE41 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - FDE2C76578028195B819883E6A76B5B2 /* MMCPSScrollView.h in Headers */, - A1F2D95F436714051CFE1601C09ACAE9 /* NSString+HexColor.h in Headers */, - 3FC1CA95A408FA5E1A57AC93B0C8A988 /* TabBarItem.h in Headers */, - DF28F428A637429E12D16D55801D4916 /* TabBarPicker-umbrella.h in Headers */, - 688F8F6C1B7515A7008E28C8 /* UIButton+BackgroundColor.h in Headers */, - C83D6A4F894219C63C6ED47E108D3EB3 /* TabBarPicker.h in Headers */, - 688F8F6E1B7515A7008E28C8 /* UIImage+Color.h in Headers */, - 7391D8870EF96C08872561E1821F1085 /* TabBarPickerSubItemsView.h in Headers */, - 860781420B1293C292A4A3D52E9F50F0 /* TabBarSubItem.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 7E48A959C6852B35F3EB10C01C5C0188 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -804,6 +816,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D00A1DFA85EA261569DB5E74C27FD88A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + C3B4357DC8723B40B75036643935EBD7 /* MMCPSScrollView.h in Headers */, + 688DF0C01B833D0D00FE093C /* ToucheableScrollView.h in Headers */, + 2A65286B5726E4AF0A5395E6B035F614 /* NSString+HexColor.h in Headers */, + 399306C358953571B5B236714BAC0F0B /* SharedLocationManager.h in Headers */, + BA97F812224F556023C97037E1B9B768 /* TabBarItem.h in Headers */, + 5894F10E4EE16E60EFEA6CAF8F39BEAC /* TabBarPicker-umbrella.h in Headers */, + F6440C1C9D4ADB1F5FE7CB2B1D54E343 /* TabBarPicker.h in Headers */, + 6115D515692E38D8D809451232B83C52 /* TabBarPickerSubItemsView.h in Headers */, + B80B8212180CFDFFDCA9568F41595AE0 /* TabBarSubItem.h in Headers */, + B65A29FBEECF62A70B2A981ED1AE3BC9 /* UIButton+BackgroundColor.h in Headers */, + CBC724E48D4294B56D03568A11D05FF1 /* UIImage+Color.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D6A8EB0B19838A8E6F05524B3A33BF15 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -849,16 +879,35 @@ buildRules = ( ); dependencies = ( - 263F085CC5D8A00D39FC39FF4FDE846B /* PBXTargetDependency */, - 556AFBD628162756239A7A3C81EAF400 /* PBXTargetDependency */, - BC58D711EAA1035DD7B4043385568300 /* PBXTargetDependency */, - D20626EC1B98DD9FB0F4E57895207498 /* PBXTargetDependency */, + 1E6DB4ADD8E4F56131BF9CAB4F13D6BF /* PBXTargetDependency */, + 53E7F8729FC986EE540050643AD0E415 /* PBXTargetDependency */, + E124F360BE28DC21A6F1DD0F2AF89D2F /* PBXTargetDependency */, + 2D2FEF8E39272D422784ABBE1FFEDF86 /* PBXTargetDependency */, ); name = "Pods-TabBarPicker_Example"; productName = "Pods-TabBarPicker_Example"; productReference = 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */; productType = "com.apple.product-type.framework"; }; + 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */ = { + isa = PBXNativeTarget; + buildConfigurationList = EA9B566CC07BD9C0890426A19B907D94 /* Build configuration list for PBXNativeTarget "TabBarPicker" */; + buildPhases = ( + C271834FA45F83107B54D32A95DCB323 /* Sources */, + AAAAA4342085DEFE61C54EF9A4F0AC88 /* Frameworks */, + DA9C3525A98CC766A7329A89399C38FC /* Resources */, + D00A1DFA85EA261569DB5E74C27FD88A /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 4ACBE616CF3D2242EFDF2DF55B55BF5C /* PBXTargetDependency */, + ); + name = TabBarPicker; + productName = TabBarPicker; + productReference = 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */; + productType = "com.apple.product-type.framework"; + }; 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */ = { isa = PBXNativeTarget; buildConfigurationList = 24BE35686B3092A5E39AB603AB9548D8 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */; @@ -887,7 +936,7 @@ buildRules = ( ); dependencies = ( - D353DC8A1B3A57D87730ABC8C5045347 /* PBXTargetDependency */, + 4C87918BA58D1D2EC71689576920C36D /* PBXTargetDependency */, ); name = "Pods-TabBarPicker_Tests"; productName = "Pods-TabBarPicker_Tests"; @@ -945,25 +994,6 @@ productReference = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; productType = "com.apple.product-type.bundle"; }; - F1D148434467C1B78F92DD483480D390 /* TabBarPicker */ = { - isa = PBXNativeTarget; - buildConfigurationList = E2A3F482B92B850797D51004F0CAA8E1 /* Build configuration list for PBXNativeTarget "TabBarPicker" */; - buildPhases = ( - 78872F90B87B97BA37967B24DDA2A728 /* Sources */, - 49A164E6EC1A044A459D0E7CD8DA59C1 /* Frameworks */, - 8A64F6AD39E28FECB63367033055C3DB /* Resources */, - 02B67A76CB09FB21493A0D4C8E7EBE41 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 7A50392FF78A36CA0C15F6A53BA3169D /* PBXTargetDependency */, - ); - name = TabBarPicker; - productName = TabBarPicker; - productReference = ECA1326C4D14AEBFBFBBD48CA93B60C2 /* TabBarPicker.framework */; - productType = "com.apple.product-type.framework"; - }; FFB59F3179C8BDA9D0F4229CBA2D227B /* Pods */ = { isa = PBXNativeTarget; buildConfigurationList = B406DCC2604A6093F81FC863CD22CF3F /* Build configuration list for PBXNativeTarget "Pods" */; @@ -975,8 +1005,8 @@ buildRules = ( ); dependencies = ( - 9B78FF26A80DD918CE5742D80BB2C8F1 /* PBXTargetDependency */, - 53E7C4F4F479EFEBB2A85A246A5ECCC0 /* PBXTargetDependency */, + 94F9B9912FD5C449AF656F780E2958DD /* PBXTargetDependency */, + 78739E10EACFB20BE6EF8078A3D971B6 /* PBXTargetDependency */, ); name = Pods; productName = Pods; @@ -1008,7 +1038,7 @@ 02B85A901C978E0651A76D08AD317C82 /* Pods-TabBarPicker_Example */, 32560F18B1ECECAEDFCE9D7F91247BDF /* Pods-TabBarPicker_Tests */, 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */, - F1D148434467C1B78F92DD483480D390 /* TabBarPicker */, + 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */, A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */, 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */, 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */, @@ -1017,14 +1047,6 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 8A64F6AD39E28FECB63367033055C3DB /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 93B87741D4207E22B2E5DDB582C68829 /* TabBarPicker.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; BAE690F24B9F8B27A81D68DD3BE79823 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -1032,6 +1054,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DA9C3525A98CC766A7329A89399C38FC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 96D7ABD08A98128E60E0F50069359FC0 /* TabBarPicker.bundle in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1093,22 +1123,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 78872F90B87B97BA37967B24DDA2A728 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7DDBA8DBAAFFC333C9196889504A8897 /* MMCPSScrollView.m in Sources */, - 688F8F6D1B7515A7008E28C8 /* UIButton+BackgroundColor.m in Sources */, - D6B77498010DFE75E70431CBF7896FCC /* NSString+HexColor.m in Sources */, - 4878C076CDFE4C3EA1F69EA060123C59 /* TabBarItem.m in Sources */, - 6F1FE5900883A92AFA28F808B14E8726 /* TabBarPicker-dummy.m in Sources */, - B020FF612A093F9D08267D37E81E8A10 /* TabBarPicker.m in Sources */, - 688F8F6F1B7515A7008E28C8 /* UIImage+Color.m in Sources */, - 787808E143D0036BA6D65469240A1653 /* TabBarPickerSubItemsView.m in Sources */, - 2E7293FA79CA8E73693C7D7C838206AD /* TabBarSubItem.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; C174BA4E26F85DF204DC43D6E023477E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1117,6 +1131,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C271834FA45F83107B54D32A95DCB323 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 141AA641914936AB790CE6FCB178B1D7 /* MMCPSScrollView.m in Sources */, + 07501B134439D43A603B50365BAB8C36 /* NSString+HexColor.m in Sources */, + 2D696A7493C3B7A7DC34C3857719B884 /* SharedLocationManager.m in Sources */, + CCBEA17C33C968D4115035DFD75D03C7 /* TabBarItem.m in Sources */, + 688DF0C11B833D0D00FE093C /* ToucheableScrollView.m in Sources */, + 8684DD0504E7EC38B91A22B510C6A01D /* TabBarPicker-dummy.m in Sources */, + 27612C6A0F69DAD74E0FEB17816B9E15 /* TabBarPicker.m in Sources */, + F959AAD4573A311BB8F79F1AF6BF166E /* TabBarPickerSubItemsView.m in Sources */, + A1A922D53B283BE53F75515F470D2755 /* TabBarSubItem.m in Sources */, + B807414C5B82738C9AE261FC4BD35633 /* UIButton+BackgroundColor.m in Sources */, + 9891293FB5D8A4C867C6FE6108C67500 /* UIImage+Color.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F81A6CC9F7C1459BB6E1B159EB93EB03 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1131,57 +1163,84 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 263F085CC5D8A00D39FC39FF4FDE846B /* PBXTargetDependency */ = { + 1E6DB4ADD8E4F56131BF9CAB4F13D6BF /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PureLayout; target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; - targetProxy = 9C6221A93B45097747C1A14AAC94A539 /* PBXContainerItemProxy */; + targetProxy = F1E65B36CE83A735C24042E5B005DB98 /* PBXContainerItemProxy */; }; - 53E7C4F4F479EFEBB2A85A246A5ECCC0 /* PBXTargetDependency */ = { + 2D2FEF8E39272D422784ABBE1FFEDF86 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = pop; target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; - targetProxy = 39095C2F0D844AC1B8E8E286164D6CDD /* PBXContainerItemProxy */; + targetProxy = 6DC4045376991B2F4FE77D1CFF871503 /* PBXContainerItemProxy */; }; - 556AFBD628162756239A7A3C81EAF400 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = TabBarPicker; - target = F1D148434467C1B78F92DD483480D390 /* TabBarPicker */; - targetProxy = 21714EBF452DB85A216D38E2672E44B4 /* PBXContainerItemProxy */; - }; - 7A50392FF78A36CA0C15F6A53BA3169D /* PBXTargetDependency */ = { + 4ACBE616CF3D2242EFDF2DF55B55BF5C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "TabBarPicker-TabBarPicker"; target = A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */; - targetProxy = CA4CD391A67ADA84167445460CB86CEE /* PBXContainerItemProxy */; + targetProxy = 718DAA8C463F278C51EFAE2FE4DBB153 /* PBXContainerItemProxy */; }; - 9B78FF26A80DD918CE5742D80BB2C8F1 /* PBXTargetDependency */ = { + 4C87918BA58D1D2EC71689576920C36D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PureLayout; - target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; - targetProxy = DDC22788C49D6AA37AFF4B7A7175DCA8 /* PBXContainerItemProxy */; + name = TabBarPicker; + target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; + targetProxy = 2422694340FEE734A32BAEADDC2EDAA1 /* PBXContainerItemProxy */; }; - BC58D711EAA1035DD7B4043385568300 /* PBXTargetDependency */ = { + 53E7F8729FC986EE540050643AD0E415 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "UIView-Overlay"; - target = 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */; - targetProxy = A345134A6D386FDE4AF4A8F9E01EBD10 /* PBXContainerItemProxy */; + name = TabBarPicker; + target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; + targetProxy = 9EB5C63E5A8712567D26F5DDF85E9408 /* PBXContainerItemProxy */; }; - D20626EC1B98DD9FB0F4E57895207498 /* PBXTargetDependency */ = { + 78739E10EACFB20BE6EF8078A3D971B6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = pop; target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; - targetProxy = CE8A779771949E83F912B98700B02CC3 /* PBXContainerItemProxy */; + targetProxy = 4F92234C46EF40937512047DE1C68200 /* PBXContainerItemProxy */; }; - D353DC8A1B3A57D87730ABC8C5045347 /* PBXTargetDependency */ = { + 94F9B9912FD5C449AF656F780E2958DD /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = TabBarPicker; - target = F1D148434467C1B78F92DD483480D390 /* TabBarPicker */; - targetProxy = 83FF373FD2C1D0B14B1A0607CDF77E30 /* PBXContainerItemProxy */; + name = PureLayout; + target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; + targetProxy = 54E7978A31596E0942D9395655EB6B6B /* PBXContainerItemProxy */; + }; + E124F360BE28DC21A6F1DD0F2AF89D2F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIView-Overlay"; + target = 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */; + targetProxy = 083B093D10F9DF2FDAD39AE5222A2FB2 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 13E6E78F0B8C8788746F00FCD7A371A3 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 0.1.0; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TabBarPicker/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TabBarPicker/TabBarPicker.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 2066CCDBDB87AD21E4D2D89AC51217E8 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */; @@ -1252,25 +1311,25 @@ }; name = Debug; }; - 35828C8A7F9216B42DE47E2CB3635497 /* Release */ = { + 4B0B1BF0388DEA06DE8DF1B21F4B00AB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; + baseConfigurationReference = CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 0.1.0; + CURRENT_PROJECT_VERSION = 3.0.0; DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_COMPATIBILITY_VERSION = 3; DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TabBarPicker/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TabBarPicker/TabBarPicker.modulemap"; + MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = TabBarPicker; + PRODUCT_NAME = PureLayout; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1337,33 +1396,6 @@ }; name = Debug; }; - 6BB8C8F248F889CF0F50B1CEE04505D3 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 0.1.0; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 0.1.0; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TabBarPicker/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TabBarPicker/TabBarPicker.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 741C768B9D20203171F89E904F8DBA84 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */; @@ -1445,33 +1477,6 @@ }; name = Release; }; - A6561B358E01BFF5FB5CA58D277CEB4B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 2.0.6; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 2; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/PureLayout/PureLayout.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = PureLayout; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1540,14 +1545,14 @@ }; name = Release; }; - D2508CF669B09E50DB3CA24B7DF1C4AA /* Debug */ = { + DB5C373F43D2E2027D3302E3EB9783D7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DB64D1F778418D691AE66E2A01EAD44E /* PureLayout-Private.xcconfig */; + baseConfigurationReference = CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 2.0.6; + CURRENT_PROJECT_VERSION = 3.0.0; DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 2; + DYLIB_COMPATIBILITY_VERSION = 3; DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -1567,6 +1572,33 @@ }; name = Debug; }; + E2350BC1B3EDD0429A21A55B90AFEEEB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 0.1.0; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 0.1.0; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TabBarPicker/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TabBarPicker/TabBarPicker.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; EAC45E7C968E7C99C6DDDCA7118C6046 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; @@ -1684,8 +1716,8 @@ 29946541803109559D5B69F86E5F2398 /* Build configuration list for PBXNativeTarget "PureLayout" */ = { isa = XCConfigurationList; buildConfigurations = ( - D2508CF669B09E50DB3CA24B7DF1C4AA /* Debug */, - A6561B358E01BFF5FB5CA58D277CEB4B /* Release */, + DB5C373F43D2E2027D3302E3EB9783D7 /* Debug */, + 4B0B1BF0388DEA06DE8DF1B21F4B00AB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1744,11 +1776,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E2A3F482B92B850797D51004F0CAA8E1 /* Build configuration list for PBXNativeTarget "TabBarPicker" */ = { + EA9B566CC07BD9C0890426A19B907D94 /* Build configuration list for PBXNativeTarget "TabBarPicker" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6BB8C8F248F889CF0F50B1CEE04505D3 /* Debug */, - 35828C8A7F9216B42DE47E2CB3635497 /* Release */, + E2350BC1B3EDD0429A21A55B90AFEEEB /* Debug */, + 13E6E78F0B8C8788746F00FCD7A371A3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme index 3954c7b..d5d9234 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h index ae74922..525e7aa 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h @@ -1,6 +1,5 @@ // // ALView+PureLayout.h -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2012 Richard Turton @@ -30,7 +29,9 @@ #import "PureLayoutDefines.h" -#pragma mark - ALView+PureLayout +__PL_ASSUME_NONNULL_BEGIN + +#pragma mark ALView+PureLayout /** A category on UIView/NSView that provides a simple yet powerful interface for creating Auto Layout constraints. @@ -46,36 +47,14 @@ /** Initializes and returns a new view that does not convert the autoresizing mask into constraints. */ - (instancetype)initForAutoLayout; - -#pragma mark Create Constraints Without Installing - -/** Prevents constraints created in the given constraints block from being automatically installed (activated). - The constraints created from calls to the PureLayout API in the block are returned in a single array. */ -+ (NSArray *)autoCreateConstraintsWithoutInstalling:(ALConstraintsBlock)block; - - -#pragma mark Set Priority For Constraints - -/** Sets the constraint priority to the given value for all constraints created using the PureLayout API within the given constraints block. - NOTE: This method will have no effect (and will NOT set the priority) on constraints created or added without using the PureLayout API! */ -+ (void)autoSetPriority:(ALLayoutPriority)priority forConstraints:(ALConstraintsBlock)block; - - -#pragma mark Set Identifier For Constraints - -#if __PureLayout_MinBaseSDK_iOS_8_0 - -/** Sets the identifier for all constraints created using the PureLayout API within the given constraints block. - NOTE: This method will have no effect (and will NOT set the identifier) on constraints created or added without using the PureLayout API! */ -+ (void)autoSetIdentifier:(NSString *)identifier forConstraints:(ALConstraintsBlock)block; - -#endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ +/** Configures an existing view to not convert the autoresizing mask into constraints and returns the view. */ +- (instancetype)configureForAutoLayout; #pragma mark Center & Align in Superview /** Centers the view in its superview. */ -- (NSArray *)autoCenterInSuperview; +- (__NSArray_of(NSLayoutConstraint *) *)autoCenterInSuperview; /** Aligns the view to the same axis of its superview. */ - (NSLayoutConstraint *)autoAlignAxisToSuperviewAxis:(ALAxis)axis; @@ -83,7 +62,7 @@ #if __PureLayout_MinBaseSDK_iOS_8_0 /** Centers the view in its superview's margins. Available in iOS 8.0 and later. */ -- (NSArray *)autoCenterInSuperviewMargins; +- (__NSArray_of(NSLayoutConstraint *) *)autoCenterInSuperviewMargins; /** Aligns the view to the corresponding margin axis of its superview. Available in iOS 8.0 and later. */ - (NSLayoutConstraint *)autoAlignAxisToSuperviewMarginAxis:(ALAxis)axis; @@ -102,11 +81,14 @@ /** Pins the given edge of the view to the same edge of its superview with an inset as a maximum or minimum. */ - (NSLayoutConstraint *)autoPinEdgeToSuperviewEdge:(ALEdge)edge withInset:(CGFloat)inset relation:(NSLayoutRelation)relation; +/** Pins the edges of the view to the edges of its superview. */ +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdges; + /** Pins the edges of the view to the edges of its superview with the given edge insets. */ -- (NSArray *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets; +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets; /** Pins 3 of the 4 edges of the view to the edges of its superview with the given edge insets, excluding one edge. */ -- (NSArray *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge; +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge; #if __PureLayout_MinBaseSDK_iOS_8_0 @@ -117,10 +99,10 @@ - (NSLayoutConstraint *)autoPinEdgeToSuperviewMargin:(ALEdge)edge relation:(NSLayoutRelation)relation; /** Pins the edges of the view to the margins of its superview. Available in iOS 8.0 and later. */ -- (NSArray *)autoPinEdgesToSuperviewMargins; +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMargins; /** Pins 3 of the 4 edges of the view to the margins of its superview excluding one edge. Available in iOS 8.0 and later. */ -- (NSArray *)autoPinEdgesToSuperviewMarginsExcludingEdge:(ALEdge)edge; +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMarginsExcludingEdge:(ALEdge)edge; #endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ @@ -145,6 +127,9 @@ /** Aligns an axis of the view to the same axis of another view with an offset. */ - (NSLayoutConstraint *)autoAlignAxis:(ALAxis)axis toSameAxisOfView:(ALView *)otherView withOffset:(CGFloat)offset; +/** Aligns an axis of the view to the same axis of another view with a multiplier. */ +- (NSLayoutConstraint *)autoAlignAxis:(ALAxis)axis toSameAxisOfView:(ALView *)otherView withMultiplier:(CGFloat)multiplier; + #pragma mark Match Dimensions @@ -167,7 +152,7 @@ #pragma mark Set Dimensions /** Sets the view to a specific size. */ -- (NSArray *)autoSetDimensionsToSize:(CGSize)size; +- (__NSArray_of(NSLayoutConstraint *) *)autoSetDimensionsToSize:(CGSize)size; /** Sets the given dimension of the view to a specific size. */ - (NSLayoutConstraint *)autoSetDimension:(ALDimension)dimension toSize:(CGFloat)size; @@ -179,11 +164,11 @@ #pragma mark Set Content Compression Resistance & Hugging /** Sets the priority of content compression resistance for an axis. - NOTE: This method must be called from within the block passed into the method +[UIView autoSetPriority:forConstraints:] */ + NOTE: This method must be called from within the block passed into the method +[NSLayoutConstraint autoSetPriority:forConstraints:] */ - (void)autoSetContentCompressionResistancePriorityForAxis:(ALAxis)axis; /** Sets the priority of content hugging for an axis. - NOTE: This method must be called from within the block passed into the method +[UIView autoSetPriority:forConstraints:] */ + NOTE: This method must be called from within the block passed into the method +[NSLayoutConstraint autoSetPriority:forConstraints:] */ - (void)autoSetContentHuggingPriorityForAxis:(ALAxis)axis; @@ -223,31 +208,6 @@ #endif /* TARGET_OS_IPHONE */ - -#pragma mark Deprecated Methods - -/** DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Removes all explicit constraints that affect the view. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - NOTE: This method preserves implicit constraints, such as intrinsic content size constraints, which you usually do not want to remove. */ -- (void)autoRemoveConstraintsAffectingView __attribute__((deprecated)); - -/** DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Removes all constraints that affect the view, optionally including implicit constraints. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - NOTE: Implicit constraints are auto-generated lower priority constraints, and you usually do not want to remove these. */ -- (void)autoRemoveConstraintsAffectingViewIncludingImplicitConstraints:(BOOL)shouldRemoveImplicitConstraints __attribute__((deprecated)); - -/** DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Recursively removes all explicit constraints that affect the view and its subviews. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - NOTE: This method preserves implicit constraints, such as intrinsic content size constraints, which you usually do not want to remove. */ -- (void)autoRemoveConstraintsAffectingViewAndSubviews __attribute__((deprecated)); - -/** DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Recursively removes all constraints from the view and its subviews, optionally including implicit constraints. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - NOTE: Implicit constraints are auto-generated lower priority constraints, and you usually do not want to remove these. */ -- (void)autoRemoveConstraintsAffectingViewAndSubviewsIncludingImplicitConstraints:(BOOL)shouldRemoveImplicitConstraints __attribute__((deprecated)); - @end + +__PL_ASSUME_NONNULL_END diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m index 81817ca..dcc7309 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m @@ -1,6 +1,5 @@ // // ALView+PureLayout.m -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2012 Richard Turton @@ -62,199 +61,15 @@ return self; } - -#pragma mark Create Constraints Without Installing - /** - A global variable that stores a stack of arrays of constraints created without being immediately installed. - When executing a constraints block passed into the +[autoCreateConstraintsWithoutInstalling:] method, a new - mutable array is pushed onto this stack, and all constraints created with PureLayout in the block are added - to this array. When the block finishes executing, the array is popped off this stack. Automatic constraint - installation is prevented if this stack contains at least 1 array. - - NOTE: Access to this variable is not synchronized (and should only be done on the main thread). + Configures an existing view to not convert the autoresizing mask into constraints and returns the view. */ -static NSMutableArray *_al_arraysOfCreatedConstraints = nil; - -/** - Accessor for the global state that stores arrays of constraints created without being installed. - */ -+ (NSMutableArray *)al_arraysOfCreatedConstraints +- (instancetype)configureForAutoLayout { - if (!_al_arraysOfCreatedConstraints) { - _al_arraysOfCreatedConstraints = [NSMutableArray new]; - } - return _al_arraysOfCreatedConstraints; + self.translatesAutoresizingMaskIntoConstraints = NO; + return self; } -/** - Accessor for the current mutable array of constraints created without being immediately installed. - */ -+ (NSMutableArray *)al_currentArrayOfCreatedConstraints -{ - return [[self al_arraysOfCreatedConstraints] lastObject]; -} - -/** - Accessor for the global state that determines whether automatic constraint installation should be prevented. - */ -+ (BOOL)al_preventAutomaticConstraintInstallation -{ - return [[self al_arraysOfCreatedConstraints] count] > 0; -} - -/** - Prevents constraints created in the given constraints block from being automatically installed (activated). - The constraints created from calls to the PureLayout API in the block are returned in a single array. - - @param block A block of method calls to the PureLayout API that create constraints. - @return An array of the constraints that were created from calls to the PureLayout API inside the block. - */ -+ (NSArray *)autoCreateConstraintsWithoutInstalling:(ALConstraintsBlock)block -{ - NSAssert(block, @"The constraints block cannot be nil."); - NSArray *createdConstraints = nil; - if (block) { - [[self al_arraysOfCreatedConstraints] addObject:[NSMutableArray new]]; - block(); - createdConstraints = [self al_currentArrayOfCreatedConstraints]; - [[self al_arraysOfCreatedConstraints] removeLastObject]; - } - return createdConstraints; -} - - -#pragma mark Set Priority For Constraints - -/** - A global variable that stores a stack of layout priorities to set on constraints. - When executing a constraints block passed into the +[autoSetPriority:forConstraints:] method, the priority for - that call is pushed onto this stack, and when the block finishes executing, that priority is popped off this - stack. If this stack contains at least 1 priority, the priority at the top of the stack will be set for all - constraints created by this library (even if automatic constraint installation is being prevented). - NOTE: Access to this variable is not synchronized (and should only be done on the main thread). - */ -static NSMutableArray *_al_globalConstraintPriorities = nil; - -/** - Accessor for the global stack of layout priorities. - */ -+ (NSMutableArray *)al_globalConstraintPriorities -{ - if (!_al_globalConstraintPriorities) { - _al_globalConstraintPriorities = [NSMutableArray new]; - } - return _al_globalConstraintPriorities; -} - -/** - Returns the current layout priority to use for constraints. - When executing a constraints block passed into +[autoSetPriority:forConstraints:], this will return - the priority for the current block. Otherwise, the default Required priority is returned. - */ -+ (ALLayoutPriority)al_currentGlobalConstraintPriority -{ - NSMutableArray *globalConstraintPriorities = [self al_globalConstraintPriorities]; - if ([globalConstraintPriorities count] == 0) { - return ALLayoutPriorityRequired; - } - return [[globalConstraintPriorities lastObject] floatValue]; -} - -/** - Accessor for the global state that determines if we're currently in the scope of a priority constraints block. - */ -+ (BOOL)al_isExecutingPriorityConstraintsBlock -{ - return [[self al_globalConstraintPriorities] count] > 0; -} - -/** - Sets the constraint priority to the given value for all constraints created using the PureLayout - API within the given constraints block. - - NOTE: This method will have no effect (and will NOT set the priority) on constraints created or added - without using the PureLayout API! - - @param priority The layout priority to be set on all constraints created in the constraints block. - @param block A block of method calls to the PureLayout API that create and install constraints. - */ -+ (void)autoSetPriority:(ALLayoutPriority)priority forConstraints:(ALConstraintsBlock)block -{ - NSAssert(block, @"The constraints block cannot be nil."); - if (block) { - [[self al_globalConstraintPriorities] addObject:@(priority)]; - block(); - [[self al_globalConstraintPriorities] removeLastObject]; - } -} - - -#pragma mark Set Identifier For Constraints - -#if __PureLayout_MinBaseSDK_iOS_8_0 - -/** - A global variable that stores a stack of identifier strings to set on constraints. - When executing a constraints block passed into the +[autoSetIdentifier:forConstraints:] method, the identifier for - that call is pushed onto this stack, and when the block finishes executing, that identifier is popped off this - stack. If this stack contains at least 1 identifier, the identifier at the top of the stack will be set for all - constraints created by this library (even if automatic constraint installation is being prevented). - NOTE: Access to this variable is not synchronized (and should only be done on the main thread). - */ -static NSMutableArray *_al_globalConstraintIdentifiers = nil; - -/** - Accessor for the global state of constraint identifiers. - */ -+ (NSMutableArray *)al_globalConstraintIdentifiers -{ - if (!_al_globalConstraintIdentifiers) { - _al_globalConstraintIdentifiers = [NSMutableArray new]; - } - return _al_globalConstraintIdentifiers; -} - -/** - Returns the current identifier string to use for constraints. - When executing a constraints block passed into +[autoSetIdentifier:forConstraints:], this will return - the identifier for the current block. Otherwise, nil is returned. - */ -+ (NSString *)al_currentGlobalConstraintIdentifier -{ - NSMutableArray *globalConstraintIdentifiers = [self al_globalConstraintIdentifiers]; - if ([globalConstraintIdentifiers count] == 0) { - return nil; - } - return [globalConstraintIdentifiers lastObject]; -} - -/** - Sets the identifier for all constraints created using the PureLayout API within the given constraints block. - - NOTE: This method will have no effect (and will NOT set the identifier) on constraints created or added - without using the PureLayout API! - - @param identifier A string used to identify all constraints created in the constraints block. - @param block A block of method calls to the PureLayout API that create and install constraints. - */ -+ (void)autoSetIdentifier:(NSString *)identifier forConstraints:(ALConstraintsBlock)block -{ - NSAssert(block, @"The constraints block cannot be nil."); - NSAssert(identifier, @"The identifier string cannot be nil."); - if (block) { - if (identifier) { - [[self al_globalConstraintIdentifiers] addObject:identifier]; - } - block(); - if (identifier) { - [[self al_globalConstraintIdentifiers] removeLastObject]; - } - } -} - -#endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ - #pragma mark Center in Superview @@ -263,9 +78,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @return An array of constraints added. */ -- (NSArray *)autoCenterInSuperview +- (__NSArray_of(NSLayoutConstraint *) *)autoCenterInSuperview { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoAlignAxisToSuperviewAxis:ALAxisHorizontal]]; [constraints addObject:[self autoAlignAxisToSuperviewAxis:ALAxisVertical]]; return constraints; @@ -292,9 +107,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @return An array of constraints added. */ -- (NSArray *)autoCenterInSuperviewMargins +- (__NSArray_of(NSLayoutConstraint *) *)autoCenterInSuperviewMargins { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoAlignAxisToSuperviewMarginAxis:ALAxisHorizontal]]; [constraints addObject:[self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]]; return constraints; @@ -368,6 +183,16 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; return [self autoPinEdge:edge toEdge:edge ofView:superview withOffset:inset relation:relation]; } +/** + Pins the edges of the view to the edges of its superview. + + @return An array of constraints added. + */ +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdges +{ + return [self autoPinEdgesToSuperviewEdgesWithInsets:ALEdgeInsetsZero]; +} + /** Pins the edges of the view to the edges of its superview with the given edge insets. The insets.left corresponds to a leading edge constraint, and insets.right corresponds to a trailing edge constraint. @@ -375,9 +200,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @param insets The insets for this view's edges from its superview's edges. @return An array of constraints added. */ -- (NSArray *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeading withInset:insets.left]]; [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; @@ -394,9 +219,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @param edge The edge of this view to exclude in pinning to its superview; this method will not apply any constraint to it. @return An array of constraints added. */ -- (NSArray *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; if (edge != ALEdgeTop) { [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; } @@ -454,9 +279,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @return An array of constraints added. */ -- (NSArray *)autoPinEdgesToSuperviewMargins +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMargins { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading]]; [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; @@ -470,9 +295,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @param edge The edge of this view to exclude in pinning to its superview; this method will not apply any constraint to it. @return An array of constraints added. */ -- (NSArray *)autoPinEdgesToSuperviewMarginsExcludingEdge:(ALEdge)edge +- (__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMarginsExcludingEdge:(ALEdge)edge { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; if (edge != ALEdgeTop) { [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; } @@ -563,6 +388,19 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; return [self autoConstrainAttribute:(ALAttribute)axis toAttribute:(ALAttribute)axis ofView:otherView withOffset:offset]; } +/** + Aligns an axis of the view to the same axis of another view with a multiplier. + + @param axis The axis of this view and the other view to align. + @param otherView The other view to align to. Must be in the same view hierarchy as this view. + @param multiplier The multiplier between the axis of this view and the axis of the other view. + @return The constraint added. + */ +- (NSLayoutConstraint *)autoAlignAxis:(ALAxis)axis toSameAxisOfView:(ALView *)otherView withMultiplier:(CGFloat)multiplier +{ + return [self autoConstrainAttribute:(ALAttribute)axis toAttribute:(ALAttribute)axis ofView:otherView withMultiplier:multiplier]; +} + #pragma mark Match Dimensions @@ -646,9 +484,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; @param size The size to set this view's dimensions to. @return An array of constraints added. */ -- (NSArray *)autoSetDimensionsToSize:(CGSize)size +- (__NSArray_of(NSLayoutConstraint *) *)autoSetDimensionsToSize:(CGSize)size { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoSetDimension:ALDimensionWidth toSize:size.width]]; [constraints addObject:[self autoSetDimension:ALDimensionHeight toSize:size.height]]; return constraints; @@ -694,14 +532,14 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; */ - (void)autoSetContentCompressionResistancePriorityForAxis:(ALAxis)axis { - NSAssert([ALView al_isExecutingPriorityConstraintsBlock], @"%@ should only be called from within the block passed into the method +[autoSetPriority:forConstraints:]", NSStringFromSelector(_cmd)); - if ([ALView al_isExecutingPriorityConstraintsBlock]) { + NSAssert([NSLayoutConstraint al_isExecutingPriorityConstraintsBlock], @"%@ should only be called from within the block passed into the method +[autoSetPriority:forConstraints:]", NSStringFromSelector(_cmd)); + if ([NSLayoutConstraint al_isExecutingPriorityConstraintsBlock]) { self.translatesAutoresizingMaskIntoConstraints = NO; ALLayoutConstraintAxis constraintAxis = [NSLayoutConstraint al_constraintAxisForAxis:axis]; #if TARGET_OS_IPHONE - [self setContentCompressionResistancePriority:[ALView al_currentGlobalConstraintPriority] forAxis:constraintAxis]; + [self setContentCompressionResistancePriority:[NSLayoutConstraint al_currentGlobalConstraintPriority] forAxis:constraintAxis]; #else - [self setContentCompressionResistancePriority:[ALView al_currentGlobalConstraintPriority] forOrientation:constraintAxis]; + [self setContentCompressionResistancePriority:[NSLayoutConstraint al_currentGlobalConstraintPriority] forOrientation:constraintAxis]; #endif /* TARGET_OS_IPHONE */ } } @@ -714,14 +552,14 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; */ - (void)autoSetContentHuggingPriorityForAxis:(ALAxis)axis { - NSAssert([ALView al_isExecutingPriorityConstraintsBlock], @"%@ should only be called from within the block passed into the method +[autoSetPriority:forConstraints:]", NSStringFromSelector(_cmd)); - if ([ALView al_isExecutingPriorityConstraintsBlock]) { + NSAssert([NSLayoutConstraint al_isExecutingPriorityConstraintsBlock], @"%@ should only be called from within the block passed into the method +[autoSetPriority:forConstraints:]", NSStringFromSelector(_cmd)); + if ([NSLayoutConstraint al_isExecutingPriorityConstraintsBlock]) { self.translatesAutoresizingMaskIntoConstraints = NO; ALLayoutConstraintAxis constraintAxis = [NSLayoutConstraint al_constraintAxisForAxis:axis]; #if TARGET_OS_IPHONE - [self setContentHuggingPriority:[ALView al_currentGlobalConstraintPriority] forAxis:constraintAxis]; + [self setContentHuggingPriority:[NSLayoutConstraint al_currentGlobalConstraintPriority] forAxis:constraintAxis]; #else - [self setContentHuggingPriority:[ALView al_currentGlobalConstraintPriority] forOrientation:constraintAxis]; + [self setContentHuggingPriority:[NSLayoutConstraint al_currentGlobalConstraintPriority] forOrientation:constraintAxis]; #endif /* TARGET_OS_IPHONE */ } } @@ -884,100 +722,8 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; #endif /* TARGET_OS_IPHONE */ -#pragma mark Deprecated Methods - -/** - DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Removes all explicit constraints that affect the view. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - It is not recommended to use this method to "reset" a view for reuse in a different way with new constraints. Create a new view instead. - NOTE: This method preserves implicit constraints, such as intrinsic content size constraints, which you usually do not want to remove. - */ -- (void)autoRemoveConstraintsAffectingView -{ - [self autoRemoveConstraintsAffectingViewIncludingImplicitConstraints:NO]; -} - -/** - DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Removes all constraints that affect the view, optionally including implicit constraints. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - It is not recommended to use this method to "reset" a view for reuse in a different way with new constraints. Create a new view instead. - NOTE: Implicit constraints are auto-generated lower priority constraints (such as those that attempt to keep a view at - its intrinsic content size by hugging its content & resisting compression), and you usually do not want to remove these. - - @param shouldRemoveImplicitConstraints Whether implicit constraints should be removed or skipped. - */ -- (void)autoRemoveConstraintsAffectingViewIncludingImplicitConstraints:(BOOL)shouldRemoveImplicitConstraints -{ - NSMutableArray *constraintsToRemove = [NSMutableArray new]; - ALView *startView = self; - do { - for (NSLayoutConstraint *constraint in startView.constraints) { - BOOL isImplicitConstraint = [NSStringFromClass([constraint class]) isEqualToString:@"NSContentSizeLayoutConstraint"]; - if (shouldRemoveImplicitConstraints || !isImplicitConstraint) { - if (constraint.firstItem == self || constraint.secondItem == self) { - [constraintsToRemove addObject:constraint]; - } - } - } - startView = startView.superview; - } while (startView); - [constraintsToRemove autoRemoveConstraints]; -} - -/** - DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Recursively removes all explicit constraints that affect the view and its subviews. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - It is not recommended to use this method to "reset" views for reuse in a different way with new constraints. Create a new view instead. - NOTE: This method preserves implicit constraints, such as intrinsic content size constraints, which you usually do not want to remove. - */ -- (void)autoRemoveConstraintsAffectingViewAndSubviews -{ - [self autoRemoveConstraintsAffectingViewAndSubviewsIncludingImplicitConstraints:NO]; -} - -/** - DEPRECATED as of PureLayout v2.0.0. Retain a reference to and remove specific constraints instead, or recreate the view(s) entirely to remove all constraints. - Recursively removes all constraints that affect the view and its subviews, optionally including implicit constraints. - WARNING: Apple's constraint solver is not optimized for large-scale constraint removal; you may encounter major performance issues after using this method. - It is not recommended to use this method to "reset" views for reuse in a different way with new constraints. Create a new view instead. - NOTE: Implicit constraints are auto-generated lower priority constraints (such as those that attempt to keep a view at - its intrinsic content size by hugging its content & resisting compression), and you usually do not want to remove these. - - @param shouldRemoveImplicitConstraints Whether implicit constraints should be removed or skipped. - */ -- (void)autoRemoveConstraintsAffectingViewAndSubviewsIncludingImplicitConstraints:(BOOL)shouldRemoveImplicitConstraints -{ - [self autoRemoveConstraintsAffectingViewIncludingImplicitConstraints:shouldRemoveImplicitConstraints]; - for (ALView *subview in self.subviews) { - [subview autoRemoveConstraintsAffectingViewAndSubviewsIncludingImplicitConstraints:shouldRemoveImplicitConstraints]; - } -} - - #pragma mark Internal Methods -/** - Applies the global constraint priority and identifier to the given constraint. - This should be done before installing all constraints. - - @param constraint The constraint to set the global priority and identifier on. - */ -+ (void)al_applyGlobalStateToConstraint:(NSLayoutConstraint *)constraint -{ - if ([ALView al_isExecutingPriorityConstraintsBlock]) { - constraint.priority = [ALView al_currentGlobalConstraintPriority]; - } -#if __PureLayout_MinBaseSDK_iOS_8_0 - NSString *globalConstraintIdentifier = [ALView al_currentGlobalConstraintIdentifier]; - if (globalConstraintIdentifier) { - [constraint autoIdentify:globalConstraintIdentifier]; - } -#endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ -} - /** Adds the given constraint to this view after applying the global state to the constraint. NOTE: This method is compatible with all versions of iOS, and should be used for older versions before the active @@ -989,9 +735,9 @@ static NSMutableArray *_al_globalConstraintIdentifiers = nil; */ - (void)al_addConstraint:(NSLayoutConstraint *)constraint { - [ALView al_applyGlobalStateToConstraint:constraint]; - if ([ALView al_preventAutomaticConstraintInstallation]) { - [[ALView al_currentArrayOfCreatedConstraints] addObject:constraint]; + [NSLayoutConstraint al_applyGlobalStateToConstraint:constraint]; + if ([NSLayoutConstraint al_preventAutomaticConstraintInstallation]) { + [[NSLayoutConstraint al_currentArrayOfCreatedConstraints] addObject:constraint]; } else { [self addConstraint:constraint]; } diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.h b/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.h index 10ece57..3815dc4 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.h @@ -1,6 +1,5 @@ // // NSArray+PureLayout.h -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2012 Richard Turton @@ -30,7 +29,9 @@ #import "PureLayoutDefines.h" -#pragma mark - NSArray+PureLayout +__PL_ASSUME_NONNULL_BEGIN + +#pragma mark NSArray+PureLayout /** A category on NSArray that provides a simple yet powerful interface to: @@ -48,60 +49,67 @@ /** Deactivates the constraints in this array. */ - (void)autoRemoveConstraints; -#if __PureLayout_MinBaseSDK_iOS_8_0 +#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 /** Sets the string as the identifier for the constraints in this array. Available in iOS 7.0 and OS X 10.9 and later. */ - (instancetype)autoIdentifyConstraints:(NSString *)identifier; -#endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ +#endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ #pragma mark Array of Views /** Aligns views in this array to one another along a given edge. */ -- (NSArray *)autoAlignViewsToEdge:(ALEdge)edge; +- (__NSArray_of(NSLayoutConstraint *) *)autoAlignViewsToEdge:(ALEdge)edge; /** Aligns views in this array to one another along a given axis. */ -- (NSArray *)autoAlignViewsToAxis:(ALAxis)axis; +- (__NSArray_of(NSLayoutConstraint *) *)autoAlignViewsToAxis:(ALAxis)axis; /** Matches a given dimension of all the views in this array. */ -- (NSArray *)autoMatchViewsDimension:(ALDimension)dimension; +- (__NSArray_of(NSLayoutConstraint *) *)autoMatchViewsDimension:(ALDimension)dimension; /** Sets the given dimension of all the views in this array to a given size. */ -- (NSArray *)autoSetViewsDimension:(ALDimension)dimension toSize:(CGFloat)size; +- (__NSArray_of(NSLayoutConstraint *) *)autoSetViewsDimension:(ALDimension)dimension toSize:(CGFloat)size; /** Sets all of the views in this array to a given size. */ -- (NSArray *)autoSetViewsDimensionsToSize:(CGSize)size; +- (__NSArray_of(NSLayoutConstraint *) *)autoSetViewsDimensionsToSize:(CGSize)size; -/** Distributes the views in this array equally along the selected axis in their superview. Views will be the same size (variable) in the dimension along the axis and will have spacing (fixed) between them. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSpacing:(CGFloat)spacing; +/** Distributes the views in this array equally along the selected axis in their superview. + Views will be the same size (variable) in the dimension along the axis and will have spacing (fixed) between them. */ +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSpacing:(CGFloat)spacing; -/** Distributes the views in this array equally along the selected axis in their superview. Views will be the same size (variable) in the dimension along the axis and will have spacing (fixed) between them, with optional insets from the first and last views to their superview. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSpacing:(CGFloat)spacing - insetSpacing:(BOOL)shouldSpaceInsets; +/** Distributes the views in this array equally along the selected axis in their superview. + Views will be the same size (variable) in the dimension along the axis and will have spacing (fixed) between them, with optional insets from the first and last views to their superview. */ +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSpacing:(CGFloat)spacing + insetSpacing:(BOOL)shouldSpaceInsets; -/** Distributes the views in this array equally along the selected axis in their superview. Views will have spacing (fixed) between them, with optional insets from the first and last views to their superview, and optionally constrained to the same size in the dimension along the axis. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSpacing:(CGFloat)spacing - insetSpacing:(BOOL)shouldSpaceInsets - matchedSizes:(BOOL)shouldMatchSizes; +/** Distributes the views in this array equally along the selected axis in their superview. + Views will have spacing (fixed) between them, with optional insets from the first and last views to their superview, and optionally constrained to the same size in the dimension along the axis. */ +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSpacing:(CGFloat)spacing + insetSpacing:(BOOL)shouldSpaceInsets + matchedSizes:(BOOL)shouldMatchSizes; -/** Distributes the views in this array equally along the selected axis in their superview. Views will be the same size (fixed) in the dimension along the axis and will have spacing (variable) between them. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSize:(CGFloat)size; +/** Distributes the views in this array equally along the selected axis in their superview. + Views will be the same size (fixed) in the dimension along the axis and will have spacing (variable) between them. */ +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSize:(CGFloat)size; -/** Distributes the views in this array equally along the selected axis in their superview. Views will be the same size (fixed) in the dimension along the axis and will have spacing (variable) between them, with optional insets from the first and last views to their superview. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSize:(CGFloat)size - insetSpacing:(BOOL)shouldSpaceInsets; +/** Distributes the views in this array equally along the selected axis in their superview. + Views will be the same size (fixed) in the dimension along the axis and will have spacing (variable) between them, with optional insets from the first and last views to their superview. */ +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSize:(CGFloat)size + insetSpacing:(BOOL)shouldSpaceInsets; @end + +__PL_ASSUME_NONNULL_END diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m b/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m index 81c0fb5..bea0789 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m @@ -1,6 +1,5 @@ // // NSArray+PureLayout.m -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2012 Richard Turton @@ -49,11 +48,11 @@ if ([NSLayoutConstraint respondsToSelector:@selector(activateConstraints:)]) { for (id object in self) { if ([object isKindOfClass:[NSLayoutConstraint class]]) { - [ALView al_applyGlobalStateToConstraint:object]; + [NSLayoutConstraint al_applyGlobalStateToConstraint:object]; } } - if ([ALView al_preventAutomaticConstraintInstallation]) { - [[ALView al_currentArrayOfCreatedConstraints] addObjectsFromArray:self]; + if ([NSLayoutConstraint al_preventAutomaticConstraintInstallation]) { + [[NSLayoutConstraint al_currentArrayOfCreatedConstraints] addObjectsFromArray:self]; } else { [NSLayoutConstraint activateConstraints:self]; } @@ -87,7 +86,7 @@ } } -#if __PureLayout_MinBaseSDK_iOS_8_0 +#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 /** Sets the string as the identifier for the constraints in this array. Available in iOS 7.0 and OS X 10.9 and later. @@ -107,7 +106,7 @@ return self; } -#endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ +#endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ #pragma mark Array of Views @@ -119,10 +118,10 @@ @param edge The edge to which the views will be aligned. @return An array of constraints added. */ -- (NSArray *)autoAlignViewsToEdge:(ALEdge)edge +- (__NSArray_of(NSLayoutConstraint *) *)autoAlignViewsToEdge:(ALEdge)edge { NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views."); - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -144,10 +143,10 @@ @param axis The axis to which the views will be aligned. @return An array of constraints added. */ -- (NSArray *)autoAlignViewsToAxis:(ALAxis)axis +- (__NSArray_of(NSLayoutConstraint *) *)autoAlignViewsToAxis:(ALAxis)axis { NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views."); - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -169,10 +168,10 @@ @param dimension The dimension to match for all of the views. @return An array of constraints added. */ -- (NSArray *)autoMatchViewsDimension:(ALDimension)dimension +- (__NSArray_of(NSLayoutConstraint *) *)autoMatchViewsDimension:(ALDimension)dimension { NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views."); - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -195,10 +194,10 @@ @param size The size to set the given dimension of each view to. @return An array of constraints added. */ -- (NSArray *)autoSetViewsDimension:(ALDimension)dimension toSize:(CGFloat)size +- (__NSArray_of(NSLayoutConstraint *) *)autoSetViewsDimension:(ALDimension)dimension toSize:(CGFloat)size { NSAssert([self al_containsMinimumNumberOfViews:1], @"This array must contain at least 1 view."); - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { ALView *view = (ALView *)object; @@ -216,9 +215,9 @@ @param size The size to set each view's dimensions to. @return An array of constraints added. */ -- (NSArray *)autoSetViewsDimensionsToSize:(CGSize)size +- (__NSArray_of(NSLayoutConstraint *) *)autoSetViewsDimensionsToSize:(CGSize)size { - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObjectsFromArray:[self autoSetViewsDimension:ALDimensionWidth toSize:size.width]]; [constraints addObjectsFromArray:[self autoSetViewsDimension:ALDimensionHeight toSize:size.height]]; return constraints; @@ -235,9 +234,9 @@ @param spacing The fixed amount of spacing between each view. @return An array of constraints added. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSpacing:(CGFloat)spacing +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSpacing:(CGFloat)spacing { return [self autoDistributeViewsAlongAxis:axis alignedTo:alignment @@ -256,10 +255,10 @@ @param shouldSpaceInsets Whether the first and last views should be equally inset from their superview. @return An array of constraints added. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSpacing:(CGFloat)spacing - insetSpacing:(BOOL)shouldSpaceInsets +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSpacing:(CGFloat)spacing + insetSpacing:(BOOL)shouldSpaceInsets { return [self autoDistributeViewsAlongAxis:axis alignedTo:alignment @@ -281,13 +280,13 @@ NOTE: All views must specify an intrinsic content size if passing NO, otherwise the layout will be ambiguous! @return An array of constraints added. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSpacing:(CGFloat)spacing - insetSpacing:(BOOL)shouldSpaceInsets - matchedSizes:(BOOL)shouldMatchSizes +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSpacing:(CGFloat)spacing + insetSpacing:(BOOL)shouldSpaceInsets + matchedSizes:(BOOL)shouldMatchSizes { - NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views to distribute."); + NSAssert([self al_containsMinimumNumberOfViews:1], @"This array must contain at least 1 view to distribute."); ALDimension matchedDimension; ALEdge firstEdge, lastEdge; switch (axis) { @@ -312,7 +311,7 @@ CGFloat leadingSpacing = shouldSpaceInsets ? spacing : 0.0; CGFloat trailingSpacing = shouldSpaceInsets ? spacing : 0.0; - NSMutableArray *constraints = [NSMutableArray new]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -350,9 +349,9 @@ @param size The fixed size of each view in the dimension along the given axis. @return An array of constraints added. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSize:(CGFloat)size +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSize:(CGFloat)size { return [self autoDistributeViewsAlongAxis:axis alignedTo:alignment @@ -371,12 +370,12 @@ @param shouldSpaceInsets Whether the first and last views should be equally inset from their superview. @return An array of constraints added. */ -- (NSArray *)autoDistributeViewsAlongAxis:(ALAxis)axis - alignedTo:(ALAttribute)alignment - withFixedSize:(CGFloat)size - insetSpacing:(BOOL)shouldSpaceInsets +- (__NSArray_of(NSLayoutConstraint *) *)autoDistributeViewsAlongAxis:(ALAxis)axis + alignedTo:(ALAttribute)alignment + withFixedSize:(CGFloat)size + insetSpacing:(BOOL)shouldSpaceInsets { - NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views to distribute."); + NSAssert([self al_containsMinimumNumberOfViews:1], @"This array must contain at least 1 view to distribute."); ALDimension fixedDimension; NSLayoutAttribute attribute; switch (axis) { @@ -408,8 +407,8 @@ #endif /* TARGET_OS_IPHONE */ BOOL shouldFlipOrder = isRightToLeftLayout && (axis != ALAxisVertical); // imitate the effect of leading/trailing when distributing horizontally - NSMutableArray *constraints = [NSMutableArray new]; - NSArray *views = [self al_copyViewsOnly]; + __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + __NSArray_of(ALView *) *views = [self al_copyViewsOnly]; NSUInteger numberOfViews = [views count]; ALView *commonSuperview = [views al_commonSuperviewOfViews]; ALView *previousView = nil; @@ -443,7 +442,7 @@ #pragma mark Internal Helper Methods /** - Returns the common superview for the views in this array. + Returns the common superview for the views in this array. If there is only one view in the array, its superview will be returned. Raises an exception if the views in this array do not share a common superview. @return The common superview for the views in this array. @@ -458,7 +457,7 @@ if (previousView) { commonSuperview = [view al_commonSuperviewWithView:commonSuperview]; } else { - commonSuperview = view; + commonSuperview = view.superview; } previousView = view; } @@ -492,9 +491,9 @@ @return A new array containing only the views that are in this array. */ -- (NSArray *)al_copyViewsOnly +- (__NSArray_of(ALView *) *)al_copyViewsOnly { - NSMutableArray *viewsOnlyArray = [NSMutableArray arrayWithCapacity:[self count]]; + __NSMutableArray_of(ALView *) *viewsOnlyArray = [NSMutableArray arrayWithCapacity:[self count]]; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { [viewsOnlyArray addObject:object]; diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h b/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h index 87797f6..01a1dc6 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h @@ -1,6 +1,5 @@ // // NSLayoutConstraint+PureLayout.h -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2013-2015 Tyler Fox @@ -29,7 +28,9 @@ #import "PureLayoutDefines.h" -#pragma mark - NSLayoutConstraint+PureLayout +__PL_ASSUME_NONNULL_BEGIN + +#pragma mark NSLayoutConstraint+PureLayout /** A category on NSLayoutConstraint that allows constraints to be easily installed & removed. @@ -37,6 +38,39 @@ @interface NSLayoutConstraint (PureLayout) +#pragma mark Batch Constraint Creation + +/** Creates all of the constraints in the block, then installs (activates) them all at once. + All constraints created from calls to the PureLayout API in the block are returned in a single array. + This may be more efficient than installing (activating) each constraint one-by-one. */ ++ (__NSArray_of(NSLayoutConstraint *) *)autoCreateAndInstallConstraints:(ALConstraintsBlock)block; + +/** Creates all of the constraints in the block but prevents them from being automatically installed (activated). + All constraints created from calls to the PureLayout API in the block are returned in a single array. */ ++ (__NSArray_of(NSLayoutConstraint *) *)autoCreateConstraintsWithoutInstalling:(ALConstraintsBlock)block; + + +#pragma mark Set Priority For Constraints + +/** Sets the constraint priority to the given value for all constraints created using the PureLayout API within the given constraints block. + NOTE: This method will have no effect (and will NOT set the priority) on constraints created or added without using the PureLayout API! */ ++ (void)autoSetPriority:(ALLayoutPriority)priority forConstraints:(ALConstraintsBlock)block; + + +#pragma mark Identify Constraints + +#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 + +/** Sets the identifier for all constraints created using the PureLayout API within the given constraints block. + NOTE: This method will have no effect (and will NOT set the identifier) on constraints created or added without using the PureLayout API! */ ++ (void)autoSetIdentifier:(NSString *)identifier forConstraints:(ALConstraintsBlock)block; + +/** Sets the string as the identifier for this constraint. Available in iOS 7.0 and OS X 10.9 and later. */ +- (instancetype)autoIdentify:(NSString *)identifier; + +#endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ + + #pragma mark Install & Remove Constraints /** Activates the the constraint. */ @@ -45,14 +79,6 @@ /** Deactivates the constraint. */ - (void)autoRemove; - -#pragma mark Identify Constraints - -#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 - -/** Sets the string as the identifier for this constraint. Available in iOS 7.0 and OS X 10.9 and later. */ -- (instancetype)autoIdentify:(NSString *)identifier; - -#endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ - @end + +__PL_ASSUME_NONNULL_END diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m b/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m index 1a290b5..6c3cef2 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m @@ -1,6 +1,5 @@ // // NSLayoutConstraint+PureLayout.m -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2013-2015 Tyler Fox @@ -28,6 +27,7 @@ #import "NSLayoutConstraint+PureLayout.h" #import "ALView+PureLayout.h" +#import "NSArray+PureLayout.h" #import "PureLayout+Internal.h" @@ -35,8 +35,250 @@ @implementation NSLayoutConstraint (PureLayout) +#pragma mark Batch Constraint Creation -#pragma mark Installing & Removing Constraints +/** + A global variable that stores a stack of arrays of constraints created without being immediately installed. + When executing a constraints block passed into the +[autoCreateConstraintsWithoutInstalling:] method, a new + mutable array is pushed onto this stack, and all constraints created with PureLayout in the block are added + to this array. When the block finishes executing, the array is popped off this stack. Automatic constraint + installation is prevented if this stack contains at least 1 array. + + NOTE: Access to this variable is not synchronized (and should only be done on the main thread). + */ +static __NSMutableArray_of(__NSMutableArray_of(NSLayoutConstraint *) *) *_al_arraysOfCreatedConstraints = nil; + +/** + A global variable that is set to YES when installing a batch of constraints collected from a call to +[autoCreateAndInstallConstraints]. + When this flag is YES, constraints are installed immediately without checking for or adding to the +[al_currentArrayOfCreatedConstraints]. + This is necessary to properly handle nested calls to +[autoCreateAndInstallConstraints], where calls whose block contains other call(s) + should not return constraints from within the blocks of nested call(s). + */ +static BOOL _al_isInstallingCreatedConstraints = NO; + +/** + Accessor for the global state that stores arrays of constraints created without being installed. + */ ++ (__NSMutableArray_of(__NSMutableArray_of(NSLayoutConstraint *) *) *)al_arraysOfCreatedConstraints +{ + NSAssert([NSThread isMainThread], @"PureLayout is not thread safe, and must be used exclusively from the main thread."); + if (!_al_arraysOfCreatedConstraints) { + _al_arraysOfCreatedConstraints = [NSMutableArray new]; + } + return _al_arraysOfCreatedConstraints; +} + +/** + Accessor for the current mutable array of constraints created without being immediately installed. + */ ++ (__NSMutableArray_of(NSLayoutConstraint *) *)al_currentArrayOfCreatedConstraints +{ + return [[self al_arraysOfCreatedConstraints] lastObject]; +} + +/** + Accessor for the global state that determines whether automatic constraint installation should be prevented. + */ ++ (BOOL)al_preventAutomaticConstraintInstallation +{ + return (_al_isInstallingCreatedConstraints == NO) && ([[self al_arraysOfCreatedConstraints] count] > 0); +} + +/** + Creates all of the constraints in the block, then installs (activates) them all at once. + All constraints created from calls to the PureLayout API in the block are returned in a single array. + This may be more efficient than installing (activating) each constraint one-by-one. + + Note: calls to this method may be nested. The constraints returned from a call will NOT include constraints + created in nested calls; constraints are only returned from the inner-most call they are created within. + + @param block A block of method calls to the PureLayout API that create constraints. + @return An array of the constraints that were created from calls to the PureLayout API inside the block. + */ ++ (__NSArray_of(NSLayoutConstraint *) *)autoCreateAndInstallConstraints:(ALConstraintsBlock)block +{ + NSArray *createdConstraints = [self autoCreateConstraintsWithoutInstalling:block]; + _al_isInstallingCreatedConstraints = YES; + [createdConstraints autoInstallConstraints]; + _al_isInstallingCreatedConstraints = NO; + return createdConstraints; +} + +/** + Creates all of the constraints in the block but prevents them from being automatically installed (activated). + All constraints created from calls to the PureLayout API in the block are returned in a single array. + + Note: calls to this method may be nested. The constraints returned from a call will NOT include constraints + created in nested calls; constraints are only returned from the inner-most call they are created within. + + @param block A block of method calls to the PureLayout API that create constraints. + @return An array of the constraints that were created from calls to the PureLayout API inside the block. + */ ++ (__NSArray_of(NSLayoutConstraint *) *)autoCreateConstraintsWithoutInstalling:(ALConstraintsBlock)block +{ + NSAssert(block, @"The constraints block cannot be nil."); + NSArray *createdConstraints = nil; + if (block) { + [[self al_arraysOfCreatedConstraints] addObject:[NSMutableArray new]]; + block(); + createdConstraints = [self al_currentArrayOfCreatedConstraints]; + [[self al_arraysOfCreatedConstraints] removeLastObject]; + } + return createdConstraints; +} + + +#pragma mark Set Priority For Constraints + +/** + A global variable that stores a stack of layout priorities to set on constraints. + When executing a constraints block passed into the +[autoSetPriority:forConstraints:] method, the priority for + that call is pushed onto this stack, and when the block finishes executing, that priority is popped off this + stack. If this stack contains at least 1 priority, the priority at the top of the stack will be set for all + constraints created by this library (even if automatic constraint installation is being prevented). + NOTE: Access to this variable is not synchronized (and should only be done on the main thread). + */ +static __NSMutableArray_of(NSNumber *) *_al_globalConstraintPriorities = nil; + +/** + Accessor for the global stack of layout priorities. + */ ++ (__NSMutableArray_of(NSNumber *) *)al_globalConstraintPriorities +{ + NSAssert([NSThread isMainThread], @"PureLayout is not thread safe, and must be used exclusively from the main thread."); + if (!_al_globalConstraintPriorities) { + _al_globalConstraintPriorities = [NSMutableArray new]; + } + return _al_globalConstraintPriorities; +} + +/** + Returns the current layout priority to use for constraints. + When executing a constraints block passed into +[autoSetPriority:forConstraints:], this will return + the priority for the current block. Otherwise, the default Required priority is returned. + */ ++ (ALLayoutPriority)al_currentGlobalConstraintPriority +{ + __NSMutableArray_of(NSNumber *) *globalConstraintPriorities = [self al_globalConstraintPriorities]; + if ([globalConstraintPriorities count] == 0) { + return ALLayoutPriorityRequired; + } + return [[globalConstraintPriorities lastObject] floatValue]; +} + +/** + Accessor for the global state that determines if we're currently in the scope of a priority constraints block. + */ ++ (BOOL)al_isExecutingPriorityConstraintsBlock +{ + return [[self al_globalConstraintPriorities] count] > 0; +} + +/** + Sets the constraint priority to the given value for all constraints created using the PureLayout + API within the given constraints block. + + NOTE: This method will have no effect (and will NOT set the priority) on constraints created or added + without using the PureLayout API! + + @param priority The layout priority to be set on all constraints created in the constraints block. + @param block A block of method calls to the PureLayout API that create and install constraints. + */ ++ (void)autoSetPriority:(ALLayoutPriority)priority forConstraints:(ALConstraintsBlock)block +{ + NSAssert(block, @"The constraints block cannot be nil."); + if (block) { + [[self al_globalConstraintPriorities] addObject:@(priority)]; + block(); + [[self al_globalConstraintPriorities] removeLastObject]; + } +} + + +#pragma mark Identify Constraints + +#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 + +/** + A global variable that stores a stack of identifier strings to set on constraints. + When executing a constraints block passed into the +[autoSetIdentifier:forConstraints:] method, the identifier for + that call is pushed onto this stack, and when the block finishes executing, that identifier is popped off this + stack. If this stack contains at least 1 identifier, the identifier at the top of the stack will be set for all + constraints created by this library (even if automatic constraint installation is being prevented). + NOTE: Access to this variable is not synchronized (and should only be done on the main thread). + */ +static __NSMutableArray_of(NSString *) *_al_globalConstraintIdentifiers = nil; + +/** + Accessor for the global state of constraint identifiers. + */ ++ (__NSMutableArray_of(NSString *) *)al_globalConstraintIdentifiers +{ + NSAssert([NSThread isMainThread], @"PureLayout is not thread safe, and must be used exclusively from the main thread."); + if (!_al_globalConstraintIdentifiers) { + _al_globalConstraintIdentifiers = [NSMutableArray new]; + } + return _al_globalConstraintIdentifiers; +} + +/** + Returns the current identifier string to use for constraints. + When executing a constraints block passed into +[autoSetIdentifier:forConstraints:], this will return + the identifier for the current block. Otherwise, nil is returned. + */ ++ (NSString *)al_currentGlobalConstraintIdentifier +{ + __NSMutableArray_of(NSString *) *globalConstraintIdentifiers = [self al_globalConstraintIdentifiers]; + if ([globalConstraintIdentifiers count] == 0) { + return nil; + } + return [globalConstraintIdentifiers lastObject]; +} + +/** + Sets the identifier for all constraints created using the PureLayout API within the given constraints block. + + NOTE: This method will have no effect (and will NOT set the identifier) on constraints created or added + without using the PureLayout API! + + @param identifier A string used to identify all constraints created in the constraints block. + @param block A block of method calls to the PureLayout API that create and install constraints. + */ ++ (void)autoSetIdentifier:(NSString *)identifier forConstraints:(ALConstraintsBlock)block +{ + NSAssert(block, @"The constraints block cannot be nil."); + NSAssert(identifier, @"The identifier string cannot be nil."); + if (block) { + if (identifier) { + [[self al_globalConstraintIdentifiers] addObject:identifier]; + } + block(); + if (identifier) { + [[self al_globalConstraintIdentifiers] removeLastObject]; + } + } +} + +/** + Sets the string as the identifier for this constraint. Available in iOS 7.0 and OS X 10.9 and later. + The identifier will be printed along with the constraint's description. + This is helpful to document a constraint's purpose and aid in debugging. + + @param identifier A string used to identify this constraint. + @return This constraint. + */ +- (instancetype)autoIdentify:(NSString *)identifier +{ + if ([self respondsToSelector:@selector(setIdentifier:)]) { + self.identifier = identifier; + } + return self; +} + +#endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ + + +#pragma mark Install & Remove Constraints /** Activates the constraint. @@ -45,9 +287,9 @@ { #if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 if ([self respondsToSelector:@selector(setActive:)]) { - [ALView al_applyGlobalStateToConstraint:self]; - if ([ALView al_preventAutomaticConstraintInstallation]) { - [[ALView al_currentArrayOfCreatedConstraints] addObject:self]; + [NSLayoutConstraint al_applyGlobalStateToConstraint:self]; + if ([NSLayoutConstraint al_preventAutomaticConstraintInstallation]) { + [[NSLayoutConstraint al_currentArrayOfCreatedConstraints] addObject:self]; } else { self.active = YES; } @@ -101,30 +343,26 @@ } -#pragma mark Identify Constraints - -#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 +#pragma mark Internal Methods /** - Sets the string as the identifier for this constraint. Available in iOS 7.0 and OS X 10.9 and later. - The identifier will be printed along with the constraint's description. - This is helpful to document a constraint's purpose and aid in debugging. + Applies the global constraint priority and identifier to the given constraint. + This should be done before installing all constraints. - @param identifier A string used to identify this constraint. - @return This constraint. + @param constraint The constraint to set the global priority and identifier on. */ -- (instancetype)autoIdentify:(NSString *)identifier ++ (void)al_applyGlobalStateToConstraint:(NSLayoutConstraint *)constraint { - if ([self respondsToSelector:@selector(setIdentifier:)]) { - self.identifier = identifier; + if ([NSLayoutConstraint al_isExecutingPriorityConstraintsBlock]) { + constraint.priority = [NSLayoutConstraint al_currentGlobalConstraintPriority]; + } +#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 + NSString *globalConstraintIdentifier = [NSLayoutConstraint al_currentGlobalConstraintIdentifier]; + if (globalConstraintIdentifier) { + [constraint autoIdentify:globalConstraintIdentifier]; } - return self; -} - #endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ - - -#pragma mark Internal Methods +} /** Returns the corresponding NSLayoutAttribute for the given ALAttribute. @@ -234,7 +472,7 @@ break; default: NSAssert(nil, @"Not a valid ALAxis."); - constraintAxis = ALLayoutConstraintAxisHorizontal; // default to a random value to satisfy the compiler + constraintAxis = ALLayoutConstraintAxisHorizontal; // default to an arbitrary value to satisfy the compiler break; } return constraintAxis; @@ -273,7 +511,7 @@ break; default: NSAssert(nil, @"Not a valid ALEdge."); - margin = ALMarginLeft; // default to a random value to satisfy the compiler + margin = ALMarginLeft; // default to an arbitrary value to satisfy the compiler break; } return margin; @@ -299,11 +537,11 @@ case ALAxisBaseline: case ALAxisFirstBaseline: NSAssert(nil, @"The baseline axis attributes do not have corresponding margin axis attributes."); - marginAxis = ALMarginAxisVertical; // default to a random value to satisfy the compiler + marginAxis = ALMarginAxisVertical; // default to an arbitrary value to satisfy the compiler break; default: NSAssert(nil, @"Not a valid ALAxis."); - marginAxis = ALMarginAxisVertical; // default to a random value to satisfy the compiler + marginAxis = ALMarginAxisVertical; // default to an arbitrary value to satisfy the compiler break; } return marginAxis; diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h index 28fbfcf..48335d4 100644 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h @@ -1,6 +1,5 @@ // // PureLayout+Internal.h -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2014-2015 Tyler Fox @@ -28,9 +27,15 @@ #import "PureLayoutDefines.h" + +// Using generics with NSMutableArray is so common in the internal implementation of PureLayout that it gets a dedicated preprocessor macro for better readability. +#define __NSMutableArray_of(type) __PL_GENERICS(NSMutableArray, type) + +__PL_ASSUME_NONNULL_BEGIN + /** A constant that represents the smallest valid positive value for the multiplier of a constraint, since a value of 0 will cause the second item to be lost in the internal auto layout engine. */ -static const CGFloat kMULTIPLIER_MIN_VALUE = 0.00001; // very small floating point numbers (e.g. CGFLOAT_MIN) can cause problems +static const CGFloat kMULTIPLIER_MIN_VALUE = (CGFloat)0.00001; // very small floating point numbers (e.g. CGFLOAT_MIN) can cause problems /** @@ -38,12 +43,6 @@ static const CGFloat kMULTIPLIER_MIN_VALUE = 0.00001; // very small floating poi */ @interface ALView (PureLayoutInternal) -+ (BOOL)al_preventAutomaticConstraintInstallation; -+ (NSMutableArray *)al_currentArrayOfCreatedConstraints; -+ (BOOL)al_isExecutingPriorityConstraintsBlock; -+ (ALLayoutPriority)al_currentGlobalConstraintPriority; -+ (NSString *)al_currentGlobalConstraintIdentifier; -+ (void)al_applyGlobalStateToConstraint:(NSLayoutConstraint *)constraint; - (void)al_addConstraint:(NSLayoutConstraint *)constraint; - (ALView *)al_commonSuperviewWithView:(ALView *)otherView; - (NSLayoutConstraint *)al_alignAttribute:(ALAttribute)attribute toView:(ALView *)otherView forAxis:(ALAxis)axis; @@ -58,7 +57,7 @@ static const CGFloat kMULTIPLIER_MIN_VALUE = 0.00001; // very small floating poi - (ALView *)al_commonSuperviewOfViews; - (BOOL)al_containsMinimumNumberOfViews:(NSUInteger)minimumNumberOfViews; -- (NSArray *)al_copyViewsOnly; +- (__NSArray_of(ALView *) *)al_copyViewsOnly; @end @@ -68,6 +67,14 @@ static const CGFloat kMULTIPLIER_MIN_VALUE = 0.00001; // very small floating poi */ @interface NSLayoutConstraint (PureLayoutInternal) ++ (BOOL)al_preventAutomaticConstraintInstallation; ++ (__NSMutableArray_of(NSLayoutConstraint *) *)al_currentArrayOfCreatedConstraints; ++ (BOOL)al_isExecutingPriorityConstraintsBlock; ++ (ALLayoutPriority)al_currentGlobalConstraintPriority; +#if __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 ++ (NSString *)al_currentGlobalConstraintIdentifier; +#endif /* __PureLayout_MinBaseSDK_iOS_8_0 || __PureLayout_MinBaseSDK_OSX_10_10 */ ++ (void)al_applyGlobalStateToConstraint:(NSLayoutConstraint *)constraint; + (NSLayoutAttribute)al_layoutAttributeForAttribute:(ALAttribute)attribute; + (ALLayoutConstraintAxis)al_constraintAxisForAxis:(ALAxis)axis; #if __PureLayout_MinBaseSDK_iOS_8_0 @@ -76,3 +83,5 @@ static const CGFloat kMULTIPLIER_MIN_VALUE = 0.00001; // very small floating poi #endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ @end + +__PL_ASSUME_NONNULL_END diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout.h b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout.h index 8c47775..ed9b416 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout.h @@ -1,6 +1,5 @@ // // PureLayout.h -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2014-2015 Tyler Fox @@ -29,6 +28,14 @@ #ifndef PureLayout_h #define PureLayout_h +#import + +//! Project version number for PureLayout. +FOUNDATION_EXPORT double PureLayoutVersionNumber; + +//! Project version string for PureLayout. +FOUNDATION_EXPORT const unsigned char PureLayoutVersionString[]; + #import "ALView+PureLayout.h" #import "NSArray+PureLayout.h" #import "NSLayoutConstraint+PureLayout.h" diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h index 5b0f0bb..46f4ffe 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h @@ -1,6 +1,5 @@ // // PureLayoutDefines.h -// v2.0.5 // https://github.com/smileyborg/PureLayout // // Copyright (c) 2014-2015 Tyler Fox @@ -40,7 +39,26 @@ #define __PureLayout_MinSysVer_iOS_8_0 (TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1) #define __PureLayout_MinSysVer_OSX_10_9 (!TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber10_8_4) -// Define generic AL-prefixed macros for the types/constants/etc that have slight naming variations across iOS and OS X, which allows the same code to be platform-independent +// Define some preprocessor macros that allow nullability annotations to be adopted in a backwards-compatible manner. +#if __has_feature(nullability) +# define __PL_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN +# define __PL_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END +#else +# define __PL_ASSUME_NONNULL_BEGIN +# define __PL_ASSUME_NONNULL_END +#endif + +// Define some preprocessor macros that allow generics to be adopted in a backwards-compatible manner. +#if __has_feature(objc_generics) +# define __PL_GENERICS(class, ...) class<__VA_ARGS__> +#else +# define __PL_GENERICS(class, ...) class +#endif + +// Using generics with NSArray is so common in PureLayout that it gets a dedicated preprocessor macro for better readability. +#define __NSArray_of(type) __PL_GENERICS(NSArray, type) + +// Define generic AL-prefixed macros for the types/constants/etc that have slight naming variations across iOS and OS X, which allows the same code to be platform-independent. #if TARGET_OS_IPHONE # import # define ALView UIView @@ -108,9 +126,9 @@ typedef NS_ENUM(NSInteger, ALDimension) { /** Constants that represent axes of a view. */ typedef NS_ENUM(NSInteger, ALAxis) { - /** A vertical line through the middle of the view's left and right edges. */ + /** A vertical line equidistant from the view's left and right edges. */ ALAxisVertical = NSLayoutAttributeCenterX, - /** A horizontal line through the middle of the view's top and bottom edges. */ + /** A horizontal line equidistant from the view's top and bottom edges. */ ALAxisHorizontal = NSLayoutAttributeCenterY, /** A horizontal line at the baseline of the last line of text in the view. (For views that do not draw text, will be equivalent to ALEdgeBottom.) Same as ALAxisLastBaseline. */ @@ -143,9 +161,9 @@ typedef NS_ENUM(NSInteger, ALMargin) { /** Constants that represent axes of the layout margins of a view. Available in iOS 8.0 and later. */ typedef NS_ENUM(NSInteger, ALMarginAxis) { - /** A vertical line through the middle of the view's left and right margins. */ + /** A vertical line equidistant from the view's left and right margins. */ ALMarginAxisVertical = NSLayoutAttributeCenterXWithinMargins, - /** A horizontal line through the middle of the view's top and bottom margins. */ + /** A horizontal line equidistant from the view's top and bottom margins. */ ALMarginAxisHorizontal = NSLayoutAttributeCenterYWithinMargins }; @@ -170,9 +188,9 @@ typedef NS_ENUM(NSInteger, ALAttribute) { ALAttributeWidth = ALDimensionWidth, /** The height of the view. */ ALAttributeHeight = ALDimensionHeight, - /** A vertical line through the middle of the view's left and right edges. */ + /** A vertical line equidistant from the view's left and right edges. */ ALAttributeVertical = ALAxisVertical, - /** A horizontal line through the middle of the view's top and bottom edges. */ + /** A horizontal line equidistant from the view's top and bottom edges. */ ALAttributeHorizontal = ALAxisHorizontal, /** A horizontal line at the baseline of the last line of text in the view. (For views that do not draw text, will be equivalent to ALEdgeBottom.) Same as ALAxisLastBaseline. */ ALAttributeBaseline = ALAxisBaseline, @@ -193,9 +211,9 @@ typedef NS_ENUM(NSInteger, ALAttribute) { ALAttributeMarginLeading = ALMarginLeading, /** The trailing margin of the view, based on the view's layoutMargins left/right (depending on language direction) inset. */ ALAttributeMarginTrailing = ALMarginTrailing, - /** A vertical line through the middle of the view's left and right margins. */ + /** A vertical line equidistant from the view's left and right margins. */ ALAttributeMarginAxisVertical = ALMarginAxisVertical, - /** A horizontal line through the middle of the view's top and bottom margins. */ + /** A horizontal line equidistant from the view's top and bottom margins. */ ALAttributeMarginAxisHorizontal = ALMarginAxisHorizontal #endif /* __PureLayout_MinBaseSDK_iOS_8_0 */ }; diff --git a/Example/Pods/PureLayout/README.md b/Example/Pods/PureLayout/README.md index 5eb3f7b..64a8611 100644 --- a/Example/Pods/PureLayout/README.md +++ b/Example/Pods/PureLayout/README.md @@ -1,16 +1,87 @@ # [![PureLayout](https://github.com/smileyborg/PureLayout/blob/master/Images/PureLayout.png?raw=true)](#) [![Build Status](http://img.shields.io/travis/smileyborg/PureLayout.svg?style=flat)](https://travis-ci.org/smileyborg/PureLayout) [![Test Coverage](http://img.shields.io/coveralls/smileyborg/PureLayout.svg?style=flat)](https://coveralls.io/r/smileyborg/PureLayout) [![Version](http://img.shields.io/cocoapods/v/PureLayout.svg?style=flat)](http://cocoapods.org/?q=PureLayout) [![Platform](http://img.shields.io/cocoapods/p/PureLayout.svg?style=flat)](http://cocoapods.org/?q=PureLayout) [![License](http://img.shields.io/cocoapods/l/PureLayout.svg?style=flat)](LICENSE) -The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. PureLayout extends `UIView`/`NSView`, `NSArray`, and `NSLayoutConstraint` with a comprehensive Auto Layout API that is modeled after Apple's own frameworks. PureLayout is an Objective-C library that also works (and looks!) great with Swift using a bridging header. +The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. PureLayout extends `UIView`/`NSView`, `NSArray`, and `NSLayoutConstraint` with a comprehensive Auto Layout API that is modeled after Apple's own frameworks. PureLayout is a cross-platform Objective-C library that works (and looks!) great in Swift. It is fully backwards-compatible with all versions of iOS and OS X that support Auto Layout. Writing Auto Layout code from scratch isn't easy. PureLayout provides a fully capable and developer-friendly interface for Auto Layout. It is designed for clarity and simplicity, and takes inspiration from the AutoLayout UI options available in Interface Builder while delivering far more flexibility. The API is also highly efficient, as it adds only a thin layer of third party code and is engineered for maximum performance. +### Table of Contents + 1. [Setup](#setup) + 1. [API Cheat Sheet](#api-cheat-sheet) + 1. [Usage](#usage) + * [Sample Code](#sample-code-swift) + * [Example Apps](#example-apps) + 1. [PureLayout vs. the rest](#purelayout-vs-the-rest) + 1. [Problems, Suggestions, Pull Requests?](#problems-suggestions-pull-requests) + +## Setup +### Compatibility +The current release of PureLayout supports all versions of iOS and OS X since the introduction of Auto Layout on each platform, in both Swift and Objective-C, with a single codebase! + +* Xcode + * Language Support: **Swift** *(any version)*, **Objective-C** + * Fully Compatible With: **Xcode 7.0** + * Minimum Supported Version: **Xcode 5.0** +* iOS + * Fully Compatible With: **iOS 9.0** + * Minimum Deployment Target: **iOS 6.0** +* OS X + * Fully Compatible With: **OS X 10.11** + * Minimum Deployment Target: **OS X 10.7** + +### Using [CocoaPods](http://cocoapods.org) +1. Add the pod `PureLayout` to your [Podfile](http://guides.cocoapods.org/using/the-podfile.html). + + ```ruby + pod 'PureLayout' + ``` + +1. Run `pod install` from Terminal, then open your app's `.xcworkspace` file to launch Xcode. +1. Import the `PureLayout.h` umbrella header. + * With `use_frameworks!` in your Podfile + * Swift: `import PureLayout` + * Objective-C: `#import ` (or with Modules enabled: `@import PureLayout;`) + * Without `use_frameworks!` in your Podfile + * Swift: Add `#import "PureLayout.h"` to your bridging header. + * Objective-C: `#import "PureLayout.h"` + +That's it - now go write some beautiful Auto Layout code! + +### Using [Carthage](https://github.com/Carthage/Carthage) +1. Add the `smileyborg/PureLayout` project to your [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile). + + ```ogdl + github "smileyborg/PureLayout" + ``` + +1. Run `carthage update`, then follow the [additional steps required](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add the framework into your project. +1. Import the PureLayout framework/module. + * Swift: `import PureLayout` + * Objective-C: `#import ` (or with Modules enabled: `@import PureLayout;`) + +That's it - now go write some beautiful Auto Layout code! + +### Manually from GitHub +1. Download the source files in the [PureLayout subdirectory](PureLayout/PureLayout). +1. Add the source files to your Xcode project. +1. Import the `PureLayout.h` header. + * Swift: Add `#import "PureLayout.h"` to your bridging header. + * Objective-C: `#import "PureLayout.h"` + +That's it - now go write some beautiful Auto Layout code! + +### App Extensions +To use PureLayout in an App Extension, you need to do a bit of extra configuration to prevent usage of unavailable APIs. [Click here](https://github.com/smileyborg/PureLayout/wiki/App-Extensions) for more info. + +### Releases +Releases are tagged in the git commit history using [semantic versioning](http://semver.org). Check out the [releases and release notes](https://github.com/smileyborg/PureLayout/releases) for each version. + ## API Cheat Sheet This is just a handy overview of the core API methods. Explore the [header files](PureLayout/PureLayout) for the full API, and find the complete documentation above the implementation of each method in the corresponding .m file. A couple of notes: -* All of the public API methods are namespaced with the prefix `auto...`, which also makes it easy for Xcode to autocomplete as you type. -* Methods that create constraints also automatically install (activate) the constraint(s), then return the new constraint(s) for you to optionally store for later adjustment or removal. -* Many methods below also have a variant which includes a `relation:` parameter to make the constraint an inequality. +* All of the public API methods are namespaced with the prefix `auto...`, which also makes it easy for Xcode to autocomplete as you type. +* Methods that create constraints also automatically install (activate) the constraint(s), then return the new constraint(s) for you to optionally store for later adjustment or removal. +* Many methods below also have a variant which includes a `relation:` parameter to make the constraint an inequality. ### Attributes @@ -27,91 +98,88 @@ There are 5 specific attribute types, which are used throughout most of the API: Additionally, there is one generic attribute type, `ALAttribute`, which is effectively a union of all the specific types. You can think of this as the "supertype" of all of the specific attribute types, which means that it is always safe to cast a specific type to the generic `ALAttribute` type. (Note that the reverse is not true -- casting a generic ALAttribute to a specific attribute type is unsafe!) ### [`UIView`/`NSView`](PureLayout/PureLayout/ALView%2BPureLayout.h) - - + autoCreateConstraintsWithoutInstalling: - + autoSetPriority:forConstraints: - + autoSetIdentifier:forConstraints: // iOS 7.0+, OS X 10.9+ only - - autoSetContent(CompressionResistance|Hugging)PriorityForAxis: - - autoCenterInSuperview: - - autoAlignAxisToSuperviewAxis: - - autoCenterInSuperviewMargins: // iOS 8.0+ only - - autoAlignAxisToSuperviewMarginAxis: // iOS 8.0+ only - - autoPinEdgeToSuperviewEdge:(withInset:) - - autoPinEdgesToSuperviewEdgesWithInsets:(excludingEdge:) - - autoPinEdgeToSuperviewMargin: // iOS 8.0+ only - - autoPinEdgesToSuperviewMargins(ExcludingEdge:) // iOS 8.0+ only - - autoPinEdge:toEdge:ofView:(withOffset:) - - autoAlignAxis:toSameAxisOfView:(withOffset:) - - autoMatchDimension:toDimension:ofView:(withOffset:|withMultiplier:) - - autoSetDimension(s)ToSize: - - autoConstrainAttribute:toAttribute:ofView:(withOffset:|withMultiplier:) - - autoPinTo(Top|Bottom)LayoutGuideOfViewController:withInset: // iOS only +``` +- autoSetContent(CompressionResistance|Hugging)PriorityForAxis: +- autoCenterInSuperview(Margins): // Margins variant iOS 8.0+ only +- autoAlignAxisToSuperview(Margin)Axis: // Margin variant iOS 8.0+ only +- autoPinEdgeToSuperview(Edge:|Margin:)(withInset:) // Margin variant iOS 8.0+ only +- autoPinEdgesToSuperview(Edges|Margins)(WithInsets:)(excludingEdge:) // Margins variant iOS 8.0+ only +- autoPinEdge:toEdge:ofView:(withOffset:) +- autoAlignAxis:toSameAxisOfView:(withOffset:|withMultiplier:) +- autoMatchDimension:toDimension:ofView:(withOffset:|withMultiplier:) +- autoSetDimension(s)ToSize: +- autoConstrainAttribute:toAttribute:ofView:(withOffset:|withMultiplier:) +- autoPinTo(Top|Bottom)LayoutGuideOfViewController:withInset: // iOS only +``` ### [`NSArray`](PureLayout/PureLayout/NSArray%2BPureLayout.h) +``` +// Arrays of Constraints +- autoInstallConstraints +- autoRemoveConstraints +- autoIdentifyConstraints: // iOS 7.0+, OS X 10.9+ only - // Arrays of Constraints - - autoInstallConstraints - - autoRemoveConstraints - - autoIdentifyConstraints: // iOS 7.0+, OS X 10.9+ only - - // Arrays of Views - - autoAlignViewsToEdge: - - autoAlignViewsToAxis: - - autoMatchViewsDimension: - - autoSetViewsDimension:toSize: - - autoSetViewsDimensionsToSize: - - autoDistributeViewsAlongAxis:alignedTo:withFixedSpacing:(insetSpacing:)(matchedSizes:) - - autoDistributeViewsAlongAxis:alignedTo:withFixedSize:(insetSpacing:) +// Arrays of Views +- autoAlignViewsToEdge: +- autoAlignViewsToAxis: +- autoMatchViewsDimension: +- autoSetViewsDimension:toSize: +- autoSetViewsDimensionsToSize: +- autoDistributeViewsAlongAxis:alignedTo:withFixedSpacing:(insetSpacing:)(matchedSizes:) +- autoDistributeViewsAlongAxis:alignedTo:withFixedSize:(insetSpacing:) +``` ### [`NSLayoutConstraint`](PureLayout/PureLayout/NSLayoutConstraint%2BPureLayout.h) - - - autoInstall - - autoRemove - - autoIdentify: // iOS 7.0+, OS X 10.9+ only - -## Setup -*Note: PureLayout requires a minimum deployment target of iOS 6.0 or OS X 10.7* - -### Using [CocoaPods](http://cocoapods.org) -1. Add the pod `PureLayout` to your [Podfile](http://guides.cocoapods.org/using/the-podfile.html). - - pod 'PureLayout' - -2. Run `pod install` from Terminal, then open your app's `.xcworkspace` file to launch Xcode. -3. Import the `PureLayout.h` header. Typically, this should be written as `#import ` - -That's it - now go write some beautiful Auto Layout code! - -### Using [Carthage](https://github.com/Carthage/Carthage) -1. Add the `smileyborg/PureLayout` project to your [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile). - - github "smileyborg/PureLayout" - -2. Run `carthage update`, then follow the [additional steps required](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add the iOS and/or Mac frameworks into your project. -3. Import the PureLayout framework/module (with the appropriate name for the platform you're using it on). - * Using Modules: `@import PureLayout_iOS` or `@import PureLayout_Mac` - * Without Modules: `#import ` or `#import ` - -That's it - now go write some beautiful Auto Layout code! - -### Manually from GitHub -1. Download the source files in the [PureLayout subdirectory](PureLayout/PureLayout). -2. Add the source files to your Xcode project. -3. Import the `PureLayout.h` header. - -That's it - now go write some beautiful Auto Layout code! - -### App Extensions -To use PureLayout in an App Extension, you need to do a bit of extra configuration to prevent usage of unavailable APIs. [Click here](https://github.com/smileyborg/PureLayout/wiki/App-Extensions) for more info. - -### Releases -Releases are tagged in the git commit history using [semantic versioning](http://semver.org). Check out the [releases and release notes](https://github.com/smileyborg/PureLayout/releases) for each version. +``` ++ autoCreateAndInstallConstraints: ++ autoCreateConstraintsWithoutInstalling: ++ autoSetPriority:forConstraints: ++ autoSetIdentifier:forConstraints: // iOS 7.0+, OS X 10.9+ only +- autoIdentify: // iOS 7.0+, OS X 10.9+ only +- autoInstall +- autoRemove +``` ## Usage -### Example Project -Open the project included in the repository (requires Xcode 6 or higher). It contains [iOS](PureLayout/Example-iOS) (`Example-iOS` scheme) and [OS X](PureLayout/Example-Mac) (`Example-Mac` scheme) demos of the library being used in various scenarios. +### Sample Code (Swift) +PureLayout dramatically simplifies writing Auto Layout code. Let's take a quick look at some examples, using PureLayout from Swift. -On iOS, you can use different device simulators and rotate the device to see the constraints in action (as well as toggle the taller in-call status bar in the iOS Simulator). +Here's a constraint between two views created (and automatically activated) using PureLayout: + +```swift +view1.autoPinEdge(.Top, toEdge: .Bottom, ofView: view2) +``` + +Without PureLayout, here's the equivalent code you'd have to write using Apple's Foundation API directly: + +```swift +NSLayoutConstraint(item: view1, attribute: .Top, relatedBy: .Equal, toItem: view2, attribute: .Bottom, multiplier: 1.0, constant: 0.0).active = true +``` + +Many APIs of PureLayout create multiple constraints for you under the hood, letting you write highly readable layout code: + +```swift +// 2 constraints created & activated in one line! +logoImageView.autoCenterInSuperview() + +// 4 constraints created & activated in one line! +textContentView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsets(top: 20.0, left: 5.0, bottom: 10.0, right: 5.0)) +``` + +PureLayout always returns the constraints it creates so you have full control: + +```swift +let constraint = skinnyView.autoMatchDimension(.Height, toDimension: .Width, ofView: tallView) +``` + +PureLayout supports all Auto Layout features including inequalities, priorities, layout margins, identifiers, and much more. It's a comprehensive, developer-friendly way to use Auto Layout. + +Check out the example apps below for many more demos of PureLayout in use. + +### Example Apps +Open the project included in the repository (requires Xcode 6 or higher). It contains [iOS](PureLayout/Example-iOS) (`Example-iOS` scheme) and [OS X](PureLayout/Example-Mac) (`Example-Mac` scheme) demos of the library being used in various scenarios. The demos in the iOS example app make a great introductory tutorial to PureLayout -- run each demo, review the code used to implement it, then practice by making some changes of your own to the demo code. + +Each demo in the iOS example app has a Swift and Objective-C version. **To compile & run the Swift demos, you must use Xcode 7.0 or higher (Swift 2.0) and choose the `Example-iOS-Xcode7` scheme.** When you run the example app, you can easily switch between using the Swift and Objective-C versions of the demos. To see the constraints in action while running the iOS demos, try using different device simulators, rotating the device to different orientations, as well as toggling the taller in-call status bar in the iOS Simulator. On OS X, while running the app, press any key to cycle through the demos. You can resize the window to see the constraints in action. @@ -119,30 +187,33 @@ On OS X, while running the app, press any key to cycle through the demos. You ca Check out some [Tips and Tricks](https://github.com/smileyborg/PureLayout/wiki/Tips-and-Tricks) to keep in mind when using the API. ## PureLayout vs. the rest -An overview of the Auto Layout options available, ordered from the lowest- to highest-level of abstraction. +There are quite a few different ways to implement Auto Layout. Here is a quick overview of the available options: -* Apple [NSLayoutConstraint SDK API](https://developer.apple.com/library/ios/documentation/AppKit/Reference/NSLayoutConstraint_Class/index.html#//apple_ref/occ/clm/NSLayoutConstraint/constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:) - * Pros: Raw power - * Cons: Extremely verbose, tedious to write, difficult to read -* Apple [Visual Format Language](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage/VisualFormatLanguage.html) - * Pros: Concise, convenient - * Cons: Doesn't support some use cases, incomplete compile-time checks, must learn syntax, hard to debug -* Apple Interface Builder - * Pros: Visual, simple - * Cons: Difficult for complex layouts, cannot dynamically set constraints at runtime, encourages hardcoded magic numbers, not always WYSIWYG -* **PureLayout** - * Pros: Simple, efficient, minimal third party code, consistent with Cocoa API style, compatible with Objective-C and Swift codebases - * Cons: Not the most concise expression of layout code -* High-level Auto Layout Libraries/DSLs ([Cartography](https://github.com/robb/Cartography), [SnapKit](https://github.com/SnapKit/SnapKit), [KeepLayout](https://github.com/iMartinKiss/KeepLayout)) - * Pros: Very clean, concise, and convenient - * Cons: Unique API style is foreign to Cocoa APIs, mixed compatibility with Objective-C & Swift, greater dependency on third party code +* Apple [NSLayoutConstraint SDK API](https://developer.apple.com/library/ios/documentation/AppKit/Reference/NSLayoutConstraint_Class/index.html#//apple_ref/occ/clm/NSLayoutConstraint/constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:) + * Pros: Raw power + * Cons: Extremely verbose; tedious to write; difficult to read +* Apple [Visual Format Language](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage/VisualFormatLanguage.html) + * Pros: Concise; convenient + * Cons: Doesn't support some use cases; lacks compile-time checking and safety; must learn syntax; hard to debug +* Apple Interface Builder + * Pros: Visual; interactive; provides compile-time layout checking + * Cons: Difficult for complex layouts; cannot dynamically set constraints at runtime; encourages hardcoded magic numbers; not always WYSIWYG +* Apple [NSLayoutAnchor SDK API](https://developer.apple.com/library/prerelease/ios/documentation/AppKit/Reference/NSLayoutAnchor_ClassReference/index.html) + * Pros: Clean, readable, and type-safe API for creating individual constraints + * Cons: Only available in iOS 9.0 and OS X 10.11 and higher; requires manually activating each constraint; no API for creating multiple constraints at once +* **PureLayout** + * Pros: Compatible with Objective-C and Swift codebases; consistent with Cocoa API style; cross-platform API and implementation shared across iOS and OS X; fully backwards-compatible to iOS 6 & OS X 10.7; easy to use; type-safe; efficient + * Cons: Not the most concise expression of layout code +* High-level Auto Layout Libraries/DSLs ([Cartography](https://github.com/robb/Cartography), [SnapKit](https://github.com/SnapKit/SnapKit), [KeepLayout](https://github.com/iMartinKiss/KeepLayout)) + * Pros: Very clean, concise, and convenient + * Cons: Unique API style is foreign to Apple's APIs; mixed compatibility with Objective-C & Swift; greater dependency on third party code PureLayout takes a balanced approach to Auto Layout that makes it well suited for any project. ## Problems, Suggestions, Pull Requests? -Please open a [new Issue here](https://github.com/smileyborg/PureLayout/issues/new) if you run into an issue, have a feature request, or want to share a comment. Note that general Auto Layout questions should be asked on [Stack Overflow](http://stackoverflow.com). +Please open a [new Issue here](https://github.com/smileyborg/PureLayout/issues/new) if you run into a problem specific to PureLayout, have a feature request, or want to share a comment. Note that general Auto Layout questions should be asked on [Stack Overflow](http://stackoverflow.com). -If you're considering taking on significant changes or additions to the project, please communicate in advance by opening a new Issue. This allows everyone to get onboard with upcoming changes, ensures that changes align with the project's design philosophy, and avoids duplicated work. +Pull requests are encouraged and greatly appreciated! Please try to maintain consistency with the existing code style. If you're considering taking on significant changes or additions to the project, please communicate in advance by opening a new Issue. This allows everyone to get onboard with upcoming changes, ensures that changes align with the project's design philosophy, and avoids duplicated work. ## Meta Designed & maintained by Tyler Fox ([@smileyborg](https://twitter.com/smileyborg)). Distributed with the MIT license. diff --git a/Example/Pods/Target Support Files/PureLayout/Info.plist b/Example/Pods/Target Support Files/PureLayout/Info.plist index 88f5e5f..dc92af9 100644 --- a/Example/Pods/Target Support Files/PureLayout/Info.plist +++ b/Example/Pods/Target Support Files/PureLayout/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.0.6 + 3.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h index a8605da..98fa812 100644 --- a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h @@ -6,6 +6,9 @@ #import "TabBarSubItem.h" #import "MMCPSScrollView.h" #import "NSString+HexColor.h" +#import "SharedLocationManager.h" +#import "UIButton+BackgroundColor.h" +#import "UIImage+Color.h" FOUNDATION_EXPORT double TabBarPickerVersionNumber; FOUNDATION_EXPORT const unsigned char TabBarPickerVersionString[]; diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index 692c592..a6084b9 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -24,40 +24,49 @@ if (self) { - TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; - TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1"]; - TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"Peppe2"]; - TabBarSubItem *subItem4 = [TabBarSubItem tabBarSubItemWithName:@"Peppe3"]; - TabBarSubItem *subItem5 = [TabBarSubItem tabBarSubItemWithName:@"Peppe4"]; - TabBarSubItem *subItem6 = [TabBarSubItem tabBarSubItemWithName:@"Peppe5"]; - TabBarSubItem *subItem7 = [TabBarSubItem tabBarSubItemWithName:@"Peppe6"]; + TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe" andValue:@"Peppe"]; + TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1" andValue:@"Peppe1"]; + TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"Peppe2" andValue:@"Peppe2"]; + TabBarSubItem *subItem4 = [TabBarSubItem tabBarSubItemWithName:@"Peppe3" andValue:@"Peppe3"]; + TabBarSubItem *subItem5 = [TabBarSubItem tabBarSubItemWithName:@"Peppe4" andValue:@"Peppe4"]; + TabBarSubItem *subItem6 = [TabBarSubItem tabBarSubItemWithName:@"Peppe5" andValue:@"Peppe5"]; + TabBarSubItem *subItem7 = [TabBarSubItem tabBarSubItemWithName:@"Peppe6" andValue:@"Peppe6"]; + TabBarPickerSubItemsView *locationSubview = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7] needsLocalization:YES]; - TabBarItem *location = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + TabBarItem *location = [[TabBarItem alloc] initWithSubItemView:locationSubview]; [location setItemName:@"Location"]; [location setImage:[UIImage imageNamed:@"location"]]; [location setSelectedImage:[UIImage imageNamed:@"location_selected"]]; [location setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; - TabBarItem *calendar = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + TabBarPickerSubItemsView *calendarSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + + TabBarItem *calendar = [[TabBarItem alloc] initWithSubItemView:calendarSubView]; [calendar setItemName:@"Calendar"]; [calendar setImage:[UIImage imageNamed:@"calendar"]]; [calendar setSelectedImage:[UIImage imageNamed:@"calendar_selected"]]; [calendar setHighlightedImage:[UIImage imageNamed:@"calendar_highlighted"]]; - TabBarItem *type = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + TabBarPickerSubItemsView *typeSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + + TabBarItem *type = [[TabBarItem alloc] initWithSubItemView:typeSubView]; [type setItemName:@"Type"]; [type setImage:[UIImage imageNamed:@"type"]]; [type setSelectedImage:[UIImage imageNamed:@"type_selected"]]; [type setHighlightedImage:[UIImage imageNamed:@"type_highlighted"]]; - TabBarItem *price = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + TabBarPickerSubItemsView *priceSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + + TabBarItem *price =[[TabBarItem alloc] initWithSubItemView:priceSubView]; [price setItemName:@"Price"]; [price setImage:[UIImage imageNamed:@"price"]]; [price setSelectedImage:[UIImage imageNamed:@"price_selected"]]; [price setHighlightedImage:[UIImage imageNamed:@"price_highlighted"]]; - TabBarItem *allergen = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + TabBarPickerSubItemsView *allergenSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; + + TabBarItem *allergen = [[TabBarItem alloc] initWithSubItemView:allergenSubView]; [allergen setItemName:@"Allergen"]; [allergen setImage:[UIImage imageNamed:@"allergen"]]; [allergen setSelectedImage:[UIImage imageNamed:@"allergen_selected"]]; @@ -100,7 +109,7 @@ - (void) viewDidAppear:(BOOL)animated { - [tabbar selectItem:0]; + //[tabbar selectItem:0]; /*TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1"]; diff --git a/Pod/Classes/TabBarItem.h b/Pod/Classes/TabBarItem.h index 6f44352..2f8de4b 100644 --- a/Pod/Classes/TabBarItem.h +++ b/Pod/Classes/TabBarItem.h @@ -8,6 +8,7 @@ #import #import "TabBarSubItem.h" +#import "TabBarPickerSubItemsView.h" @class TabBarItem; @@ -25,14 +26,17 @@ * Represents the image visible in picker when item is not selected. */ @property (nonatomic, strong) UIImage *image; + /** * Represents the image visible in picker when item is selected. */ @property (nonatomic, strong) UIImage *selectedImage; + /** * Represents the image visible in picker when item is highlited. */ @property (nonatomic, strong) UIImage *highlightedImage; + /** * Represents the color of picker item when is highlited. */ @@ -42,11 +46,15 @@ * Represents the name of the item that can be shown in picker. */ @property (nonatomic, strong) NSString *itemName; + /** * Represents the sub items that appeare when you select the item in picker. */ -@property (nonatomic, strong) NSMutableArray *subItems; +@property (nonatomic, strong) TabBarPickerSubItemsView *itemSubView; +/** + * <#Description#> + */ @property (nonatomic, assign) id delegate; /** @@ -56,8 +64,13 @@ * * @return <#return value description#> */ -- (instancetype) initWithSubItems:(NSArray*) array; +- (instancetype) initWithSubItemView:(TabBarPickerSubItemsView*) itemSubView; +/** + * <#Description#> + * + * @param highlighted <#highlighted description#> + */ - (void) setHighlighted:(BOOL) highlighted; diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index 008c862..d5bce93 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -10,6 +10,7 @@ #import #import "NSString+HexColor.h" #import "UIButton+BackgroundColor.h" +#import @interface TabBarItem() @@ -17,32 +18,34 @@ @property (nonatomic, strong) UIButton *itemButton; @property (nonatomic) UIDeviceOrientation orientation; @property (nonatomic, assign) BOOL didSetupConstraints; +@property (nonatomic, strong) UIView *switchBarView; +@property (nonatomic, strong) UISwitch *itemSwich; +@property (nonatomic, strong) UILabel *switchBarLabel; @end @implementation TabBarItem -- (instancetype) initWithSubItems:(NSArray*) array { +- (instancetype) initWithSubItemView:(TabBarPickerSubItemsView*) itemSubView { + + return [self initWithSubItemView:itemSubView needLocalization:NO]; +} + +- (instancetype) initWithSubItemView:(TabBarPickerSubItemsView*) itemSubView needLocalization:(BOOL) needLocalitazion { self = [self initForAutoLayout]; if (self) { - NSAssert(array, @"SubItemsArray cannot be nil"); + NSAssert(itemSubView, @"itemSubView cannot be nil"); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object: nil]; _orientation = [[UIDevice currentDevice] orientation]; + _itemSubView = itemSubView; _itemButton = [[UIButton alloc] initForAutoLayout]; [_itemButton addTarget:self action:@selector(itemButtonTapped) forControlEvents:UIControlEventTouchUpInside]; [_itemButton setBackgroundColor:[@"ff4e50" colorFromHex] forState:UIControlStateHighlighted]; [self addSubview:_itemButton]; - - _subItems = [[NSMutableArray alloc] init]; - - for (NSObject *subItem in array) { - if ([subItem isKindOfClass:[TabBarSubItem class]]) { - [_subItems addObject:subItem]; - } - } + } return self; } @@ -51,9 +54,10 @@ //[_itemButton autoPinEdgesToSuperviewMargins]; if (!_didSetupConstraints) { - [_itemButton autoCenterInSuperview]; - [_itemButton autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; - [_itemButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + [_itemButton autoCenterInSuperview]; + [_itemButton autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; + [_itemButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + _didSetupConstraints = YES; } } @@ -88,24 +92,26 @@ - (void) setHighlighted:(BOOL) highlighted { [_itemButton setHighlighted:highlighted]; - - NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isSelected]]); - NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isHighlighted]]); - NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isEnabled]]); - NSLog(@"%ld",_itemButton.state); } - (void) itemButtonTapped { if (_delegate && [_delegate respondsToSelector:@selector(tabBarItemSelected:)]) { [_delegate tabBarItemSelected:self]; } - NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isSelected]]); - NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isHighlighted]]); - NSLog(@"%@",[NSNumber numberWithBool:[_itemButton isEnabled]]); - NSLog(@"%ld",_itemButton.state); - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.002 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [_itemButton setHighlighted:YES]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.00001 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self setHighlighted:YES]; }); } + + +- (void)openSettings +{ + BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL); + if (canOpenSettings) { + NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; + [[UIApplication sharedApplication] openURL:url]; + } +} + @end diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 719f73a..43081c1 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -9,7 +9,7 @@ #import "TabBarPicker.h" #import #import "TabBarPickerSubItemsView.h" -#import "MMCPSScrollView.h" +#import "ToucheableScrollView.h" #import #import "NSString+HexColor.h" @@ -24,7 +24,9 @@ @property (nonatomic, strong) NSLayoutConstraint *hideConstraint; @property (nonatomic, strong) NSMutableArray *tabBarItemsConstraints; @property (nonatomic, strong) TabBarItem *selectedTabBarItem; -@property (nonatomic, strong) MMCPSScrollView *subItemScrollView; + +@property (nonatomic, strong) ToucheableScrollView *subItemScrollView; +@property (assign, nonatomic) int totalPages; @end @@ -46,7 +48,7 @@ self = [self initForAutoLayout]; if (self) { - + [self setUserInteractionEnabled:YES]; _itemSpacing = 10; _layoutRelation = relation; _position = position; @@ -77,47 +79,12 @@ } } - _subItemScrollView = [[MMCPSScrollView alloc] initForAutoLayout]; - [_subItemScrollView setType:MMCPSScrollHorizontal]; - [_subItemScrollView setMMCPSDelegate:self]; + _subItemScrollView = [[ToucheableScrollView alloc] initForAutoLayout]; [_subItemScrollView setPagingEnabled:YES]; [_subItemScrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; + [_subItemScrollView setUserInteractionEnabled:YES]; [self addSubview:_subItemScrollView]; - - if ([_tabBarItems count] > 0) { - int i = 0; - for (TabBarItem *item in _tabBarItems) { - TabBarPickerSubItemsView *subItemSelector = [[TabBarPickerSubItemsView alloc] init]; - [subItemSelector setDelegate:self]; - switch (i) { - case 0: - [subItemSelector setBackgroundColor:[UIColor lightGrayColor]]; - break; - case 1:{ - [subItemSelector setBackgroundColor:[UIColor redColor]]; - } - break; - case 2:{ - [subItemSelector setBackgroundColor:[UIColor greenColor]]; - } - break; - case 3: { - [subItemSelector setBackgroundColor:[UIColor yellowColor]]; - } - break; - default:{ - [subItemSelector setBackgroundColor:[UIColor blueColor]]; - } - break; - } - i++; - [_subItemScrollView addSubview:subItemSelector]; - - [_subItemSelectors addObject:subItemSelector]; - } - [_subItemScrollView setPageSize:1]; - } } [self updateConstraintsIfNeeded]; @@ -126,7 +93,7 @@ } - (void) layoutSubviews { - + if (!_didSetupConstraints) { switch (_position) { @@ -185,23 +152,71 @@ [_tabBarItemsConstraints addObjectsFromArray:[_tabBarItems autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:_itemSpacing insetSpacing:YES matchedSizes:YES]]; - - [_subItemScrollView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; [_subItemScrollView autoSetDimension:ALDimensionHeight toSize:343]; [_subItemScrollView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:[_tabBarItems firstObject]]; [_subItemScrollView autoAlignAxisToSuperviewAxis:ALAxisVertical]; - //[_subItemScrollView setPageSize:343]; - [_subItemScrollView setSegmentSize:[[UIScreen mainScreen] bounds].size.width]; + if ([_tabBarItems count] > 0) { + int i = 0; + + TabBarItem *prevItem; + for (TabBarItem *item in _tabBarItems) { + + if ([item itemSubView]) { + + [[item itemSubView] setDelegate:self]; + [[item itemSubView] setTabBarItemReference:self]; + switch (i) { + case 0: + [[item itemSubView] setBackgroundColor:[UIColor lightGrayColor]]; + break; + case 1:{ + [[item itemSubView] setBackgroundColor:[UIColor redColor]]; + } + break; + case 2:{ + [[item itemSubView] setBackgroundColor:[UIColor greenColor]]; + } + break; + case 3: { + [[item itemSubView] setBackgroundColor:[UIColor yellowColor]]; + } + break; + default:{ + [[item itemSubView] setBackgroundColor:[UIColor blueColor]]; + } + break; + } + i++; + [_subItemScrollView addSubview:[item itemSubView]]; + + [_subItemSelectors addObject:[item itemSubView]]; + + if (!prevItem) { + // Align to contentView + [pageLabel autoPinEdgeToSuperviewEdge:ALEdgeLeft]; + } else { + // Align to prev label + [pageLabel autoConstrainAttribute:ALAttributeLeading toAttribute:ALAttributeTrailing ofView:prevLabel]; + } + + if (i == pages - 1) { + // Last page + [pageLabel autoPinEdgeToSuperviewEdge:ALEdgeRight]; + } + + prevItem = item; + } + } + [_subItemScrollView setPageSize:1]; + } - [_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; - [_subItemSelectors autoSetViewsDimension:ALDimensionHeight toSize:343]; - [_subItemSelectors autoSetViewsDimension:ALDimensionWidth toSize:[[UIScreen mainScreen] bounds].size.width]; + //[_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; - [[_subItemSelectors firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + //[[_subItemSelectors firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - [_subItemScrollView setContentSize:CGSizeMake([_subItemSelectors count]*[[UIScreen mainScreen] bounds].size.width , 343)]; + //[_subItemScrollView layoutIfNeeded]; } break; @@ -209,7 +224,7 @@ _didSetupConstraints = YES; - + [self updateConstraintsIfNeeded]; } } @@ -374,7 +389,7 @@ } _selectedTabBarItem = selectedItem; - [_subItemScrollView scrollToPage:[_tabBarItems indexOfObject:_selectedTabBarItem]]; + [_subItemScrollView scrollToPage:[_tabBarItems indexOfObject:_selectedTabBarItem]+1]; } #pragma mark - diff --git a/Pod/Classes/TabBarPickerSubItemsView.h b/Pod/Classes/TabBarPickerSubItemsView.h index c849984..6061c75 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.h +++ b/Pod/Classes/TabBarPickerSubItemsView.h @@ -7,8 +7,9 @@ // #import -#import "TabBarItem.h" +@class TabBarItem; +@class TabBarSubItem; @class TabBarPickerSubItemsView; typedef NS_ENUM(NSInteger, TabBarPickerSubItemsViewType) { @@ -23,7 +24,7 @@ typedef NS_ENUM(NSInteger, TabBarPickerSubItemsViewType) { @required -- (void) tabarPickerSubItemsView:(TabBarPickerSubItemsView*) tabarPickerSubItemsView didSelect:(TabBarItem*) item; +- (void) tabarPickerSubItemsView:(TabBarPickerSubItemsView*) tabarPickerSubItemsView didSelectTabBarSubItem:(TabBarSubItem*) subItem forTabBarItem:(TabBarItem*) item; @end @@ -33,6 +34,21 @@ typedef NS_ENUM(NSInteger, TabBarPickerSubItemsViewType) { * <#Description#> */ @property (nonatomic, assign) id delegate; +/** + * <#Description#> + */ +@property (nonatomic) BOOL needsLocalization; +/** + * <#Description#> + */ +@property (nonatomic, strong) UIView *localizationView; +/** + * <#Description#> + */ +@property (nonatomic, strong) TabBarItem *tabBarItemReference; +- (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems; + +- (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems needsLocalization:(BOOL) needsLocalization; @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 4cb0ff3..dfa8827 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -8,23 +8,83 @@ #import "TabBarPickerSubItemsView.h" #import +#import "TabBarItem.h" +#import "NSString+HexColor.h" +#import "SharedLocationManager.h" @interface TabBarPickerSubItemsView() @property (nonatomic, assign) BOOL didSetupConstraints; @property (nonatomic) TabBarPickerSubItemsViewType type; -@property (nonatomic, strong) NSMutableArray *elementsArray; +@property (nonatomic, strong) NSMutableArray *subItems; +@property (nonatomic, strong) UIView *switchBarView; +@property (nonatomic, strong) UISwitch *itemSwich; +@property (nonatomic, strong) UILabel *switchBarLabel; +@property (nonatomic, strong) UIButton *localizationButton; @end @implementation TabBarPickerSubItemsView -- (instancetype) initWithType:(TabBarPickerSubItemsViewType) type andElements:(NSArray*) elements { +- (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems { + return [self initWithType:type subItems:subItems needsLocalization:NO]; +} + +- (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems needsLocalization:(BOOL) needsLocalization{ + self = [self initForAutoLayout]; if (self) { + [self setUserInteractionEnabled:YES]; _type = type; - _elementsArray = [[NSMutableArray alloc] initWithArray:elements]; + _needsLocalization = needsLocalization; + _switchBarView = [[UIView alloc] initForAutoLayout]; + [_switchBarView setBackgroundColor:[@"f7f7f7" colorFromHex]]; + + _switchBarLabel = [[UILabel alloc] initForAutoLayout]; + [_switchBarLabel setTextColor:[@"999999" colorFromHex]]; + [_switchBarLabel setText:NSLocalizedString(@"Distance", @"")]; + [_switchBarView addSubview:_switchBarLabel]; + + _itemSwich = [[UISwitch alloc] initForAutoLayout]; + [_itemSwich setOnTintColor:[@"ff4e50" colorFromHex]]; + + [_itemSwich.layer setBorderWidth:2]; + [_itemSwich.layer setBorderColor:[[@"cccccc" colorFromHex] CGColor]]; + [_itemSwich.layer setCornerRadius:_itemSwich.frame.size.height/2]; + [_itemSwich setUserInteractionEnabled:YES]; + [_itemSwich addTarget:self action:@selector(changeSwitch:) forControlEvents:UIControlEventValueChanged]; + [_switchBarView addSubview:_itemSwich]; + + if (_needsLocalization) { + + _localizationView = [[UIView alloc] initForAutoLayout]; + [_localizationView setBackgroundColor:[UIColor purpleColor]]; + [_localizationView setAlpha:0]; + + + _localizationButton = [[UIButton alloc] initForAutoLayout]; + [_localizationButton setTitle:NSLocalizedString(@"ATTIVA LOCALIZZAZIONE DISPOSITIVO", @"") forState:UIControlStateNormal]; + [_localizationButton addTarget:self action:@selector(openSettings) forControlEvents:UIControlEventTouchUpInside]; + [_localizationButton setBackgroundColor:[UIColor whiteColor]]; + [_localizationButton.layer setBorderColor:[[@"ff4e50" colorFromHex] CGColor]]; + [_localizationButton.layer setBorderWidth:1]; + [_localizationButton setTitleColor:[@"ff4e50" colorFromHex] forState:UIControlStateNormal]; + [_localizationButton setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; + [_localizationButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:14]]; + + [_localizationView addSubview:_localizationButton]; + + [self addSubview:_localizationView]; + } + + /*_subItems = [[NSMutableArray alloc] init]; + for (NSObject *subItem in subItems) { + if ([subItem isKindOfClass:[TabBarSubItem class]]) { + [_subItems addObject:subItem]; + } + }*/ + [self addSubview:_switchBarView]; } [self updateConstraintsIfNeeded]; @@ -35,13 +95,77 @@ - (void) layoutSubviews { + [UIView animateWithDuration:0.5 animations:^{ + [_localizationView setAlpha:[[NSNumber numberWithBool:[[SharedLocationManager sharedManager] localizationIsAuthorized]] floatValue]]; + }]; + if (!_didSetupConstraints) { [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; [self autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; + [_switchBarView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview]; + [_switchBarView autoSetDimension:ALDimensionHeight toSize:40]; + [_switchBarView autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:self]; + [_switchBarView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + + [_switchBarLabel autoPinEdge:ALEdgeLeft toEdge:ALEdgeLeft ofView:self withOffset:20]; + [_switchBarLabel autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + + [_itemSwich autoPinEdge:ALEdgeRight toEdge:ALEdgeRight ofView:_switchBarView withOffset:-20]; + [_itemSwich autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + + [_localizationView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:_itemSwich withOffset:4]; + [_localizationView autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self]; + [_localizationView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + + [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_localizationButton autoSetDimension:ALDimensionHeight toSize:44 relation:NSLayoutRelationLessThanOrEqual]; + [_localizationButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self withMultiplier:0.8]; + _didSetupConstraints = YES; } + NSLog(@"%f %f",self.frame.size.width,self.frame.size.height); + NSLog(@"%f %f",_switchBarView.frame.size.width,_switchBarView.frame.size.height); + [_localizationButton.layer setCornerRadius:_localizationButton.frame.size.height/2]; +} + +- (void) enableLocalizationWithView:(UIView *) localizationView { + _needsLocalization = YES; + _localizationView = localizationView; + + [self addSubview:_localizationView]; +} + + +- (void)openSettings +{ + BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL); + if (canOpenSettings) { + NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; + [[UIApplication sharedApplication] openURL:url]; + } +} + +- (void)changeSwitch:(UISwitch*)sender{ + + if([sender isOn]){ + NSLog(@"Switch is ON"); + } else{ + NSLog(@"Switch is OFF"); + } + +} + +- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event +{ + [super touchesEnded: touches withEvent: event]; +} + +- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + + [super touchesBegan: touches withEvent:event]; } @end diff --git a/Pod/Classes/TabBarSubItem.h b/Pod/Classes/TabBarSubItem.h index f3258a3..12ab1c2 100644 --- a/Pod/Classes/TabBarSubItem.h +++ b/Pod/Classes/TabBarSubItem.h @@ -12,7 +12,8 @@ @property (nonatomic, strong) NSString *name; @property (nonatomic, strong) UIButton *subItemButton; +@property (nonatomic, strong) id value; -+ (instancetype) tabBarSubItemWithName:(NSString*)name; ++ (instancetype) tabBarSubItemWithName:(NSString*)name andValue:(id) value;; @end diff --git a/Pod/Classes/TabBarSubItem.m b/Pod/Classes/TabBarSubItem.m index 792aa97..c9d966a 100644 --- a/Pod/Classes/TabBarSubItem.m +++ b/Pod/Classes/TabBarSubItem.m @@ -19,28 +19,28 @@ @implementation TabBarSubItem -- (instancetype) initWithName:(NSString *) name { +- (instancetype) initWithName:(NSString *) name andValue:(id)value { self = [self initForAutoLayout]; if (self) { - [[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object: nil]; + //[[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object: nil]; _name = name; - _subItemButton = [[UIButton alloc] initForAutoLayout]; [_subItemButton setTitle:_name forState:UIControlStateNormal]; + _value = value; } return self; } -+ (instancetype) tabBarSubItemWithName:(NSString*)name { - return [[self alloc] initWithName:name]; ++ (instancetype) tabBarSubItemWithName:(NSString*)name andValue:(id)value { + return [[self alloc] initWithName:name andValue:value]; } - (void) setName:(NSString *)name { _name = name; - [_subItemButton setTitle:name forState:UIControlStateNormal]; + [_subItemButton setTitle:_name forState:UIControlStateNormal]; } diff --git a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m index 8f6501b..b05c571 100755 --- a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m +++ b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m @@ -18,6 +18,7 @@ if (self) { self.backgroundColor = [UIColor whiteColor]; + [self setUserInteractionEnabled:YES]; } return self; @@ -291,6 +292,7 @@ - (void)addSubview:(UIView *)view { [super addSubview:view]; + [view setUserInteractionEnabled:YES]; int currentLowestPoint = [self CGRectOrigin:_bottomComponent] + [self CGRectSize:_bottomComponent]; int viewLowestPoint = [self frameOrigin:view] + [self frameSize:view]; @@ -318,4 +320,25 @@ } } +- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event +{ + // If not dragging, send event to next responder + if (!self.dragging) { + [self.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + } + else + [super touchesEnded: touches withEvent: event]; + +} + +- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + + if (!self.dragging) { + [self.nextResponder.nextResponder touchesBegan: touches withEvent:event]; + } + else + [super touchesBegan: touches withEvent:event]; + +} + @end diff --git a/Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.h b/Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.h new file mode 100755 index 0000000..e40b14d --- /dev/null +++ b/Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.h @@ -0,0 +1,23 @@ +// +// SharedLocationManager.h +// Pods +// +// Created by Giuseppe Nucifora on 15/07/15. +// + +#import +#import + +@interface SharedLocationManager : NSObject { + CLLocationManager *locationManager; + CLLocation *currentLocation; +} + ++ (id) sharedManager; +- (void) setCurrentLocation; +- (CLLocation*) getCurrentLocation; +- (BOOL) locationIsSet; +- (BOOL) localizationIsAuthorized; +- (CLAuthorizationStatus) localizationAuthorizationStatus; + +@end diff --git a/Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.m b/Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.m new file mode 100755 index 0000000..f2b51d6 --- /dev/null +++ b/Pod/Classes/Vendor/SharedLocationManager/SharedLocationManager.m @@ -0,0 +1,78 @@ +// +// SharedLocationManager.m +// Pods +// +// Created by Giuseppe Nucifora on 15/07/15. +// + +#import "SharedLocationManager.h" + +@implementation SharedLocationManager ++ (id)sharedManager { + static SharedLocationManager *sharedMyManager = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedMyManager = [[self alloc] init]; + }); + return sharedMyManager; +} + +- (id)init { + if (self = [super init]) { + locationManager = [[CLLocationManager alloc] init]; + locationManager.delegate = self; + locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters; + if([[[UIDevice currentDevice] systemVersion] floatValue] < 8.0) + { + [CLLocationManager authorizationStatus]; + } + else { + [locationManager requestWhenInUseAuthorization]; + } + } + return self; +} +- (void)setCurrentLocation { + + [locationManager startUpdatingLocation]; +} +#pragma mark - CLLocationManagerDelegate + +- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error +{ + [locationManager stopUpdatingLocation]; +} + +- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation +{ + if (newLocation != nil) { + currentLocation = newLocation; + } + [locationManager stopUpdatingLocation]; +} + +-(BOOL)locationIsSet { + if(currentLocation != nil) + return YES; + else + return NO; +} + +-(CLLocation*)getCurrentLocation { + return currentLocation; +} + +- (BOOL) localizationIsAuthorized { + if ( [CLLocationManager locationServicesEnabled] == NO || [self localizationAuthorizationStatus] == kCLAuthorizationStatusDenied) + { + return NO; + } + return YES; +} + +- (CLAuthorizationStatus) localizationAuthorizationStatus { + return [CLLocationManager authorizationStatus]; +} + + +@end diff --git a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h new file mode 100755 index 0000000..5383598 --- /dev/null +++ b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h @@ -0,0 +1,13 @@ +// +// ToucheableScrollView.m +// +// +// Created by Mario Nolassi on 11/16/11. +// Copyright (c) 2011 meedori. All rights reserved. +// + +#import + +@interface ToucheableScrollView : UIScrollView + +@end diff --git a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m new file mode 100755 index 0000000..9aabbf0 --- /dev/null +++ b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m @@ -0,0 +1,44 @@ +// +// ToucheableScrollView.m +// +// +// Created by Mario Nolassi on 11/16/11. +// Copyright (c) 2011 meedori. All rights reserved. +// + +#import "ToucheableScrollView.h" + +@implementation ToucheableScrollView + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + + if (self) { + + } + return self; +} +- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event +{ + // If not dragging, send event to next responder + if (!self.dragging) { + if ([self.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder touchesEnded: touches withEvent:event]; + } + if ([self.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + } + if ([self.nextResponder.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + } + } + else { + [super touchesEnded: touches withEvent: event]; + } + +} +@end + + + From dfd5420089dad42a3d800cff8498876f0c319a44 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 18 Aug 2015 14:48:12 +0200 Subject: [PATCH 11/13] - Fix tab touches --- Example/Pods/Pods.xcodeproj/project.pbxproj | 16 ----- Pod/Classes/TabBarItem.m | 2 +- Pod/Classes/TabBarPicker.m | 57 ++++++++-------- Pod/Classes/TabBarPickerSubItemsView.m | 66 +++++++++++-------- .../Vendor/MMCPSScrollView/MMCPSScrollView.m | 21 +++--- .../ToucheableScrollView.h | 13 ---- .../ToucheableScrollView.m | 44 ------------- 7 files changed, 76 insertions(+), 143 deletions(-) delete mode 100755 Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h delete mode 100755 Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index a404e00..72e8acb 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -49,8 +49,6 @@ 6115D515692E38D8D809451232B83C52 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 688DF0C01B833D0D00FE093C /* ToucheableScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 688DF0BE1B833D0D00FE093C /* ToucheableScrollView.h */; }; - 688DF0C11B833D0D00FE093C /* ToucheableScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 688DF0BF1B833D0D00FE093C /* ToucheableScrollView.m */; }; 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -228,8 +226,6 @@ 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; - 688DF0BE1B833D0D00FE093C /* ToucheableScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToucheableScrollView.h; sourceTree = ""; }; - 688DF0BF1B833D0D00FE093C /* ToucheableScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ToucheableScrollView.m; sourceTree = ""; }; 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SharedLocationManager.h; sourceTree = ""; }; 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SharedLocationManager.m; sourceTree = ""; }; 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; @@ -502,19 +498,9 @@ path = "Target Support Files/Pods-TabBarPicker_Example"; sourceTree = ""; }; - 688DF0BD1B833D0D00FE093C /* TouchableScrollView */ = { - isa = PBXGroup; - children = ( - 688DF0BE1B833D0D00FE093C /* ToucheableScrollView.h */, - 688DF0BF1B833D0D00FE093C /* ToucheableScrollView.m */, - ); - path = TouchableScrollView; - sourceTree = ""; - }; 6F07576C2E19EA1A65B4E924DB9FD5C7 /* Vendor */ = { isa = PBXGroup; children = ( - 688DF0BD1B833D0D00FE093C /* TouchableScrollView */, 2B50D3C0ACD825270CCC306CD51D20E7 /* MMCPSScrollView */, D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */, 8AE381098F77067F0AD825096898C950 /* SharedLocationManager */, @@ -821,7 +807,6 @@ buildActionMask = 2147483647; files = ( C3B4357DC8723B40B75036643935EBD7 /* MMCPSScrollView.h in Headers */, - 688DF0C01B833D0D00FE093C /* ToucheableScrollView.h in Headers */, 2A65286B5726E4AF0A5395E6B035F614 /* NSString+HexColor.h in Headers */, 399306C358953571B5B236714BAC0F0B /* SharedLocationManager.h in Headers */, BA97F812224F556023C97037E1B9B768 /* TabBarItem.h in Headers */, @@ -1139,7 +1124,6 @@ 07501B134439D43A603B50365BAB8C36 /* NSString+HexColor.m in Sources */, 2D696A7493C3B7A7DC34C3857719B884 /* SharedLocationManager.m in Sources */, CCBEA17C33C968D4115035DFD75D03C7 /* TabBarItem.m in Sources */, - 688DF0C11B833D0D00FE093C /* ToucheableScrollView.m in Sources */, 8684DD0504E7EC38B91A22B510C6A01D /* TabBarPicker-dummy.m in Sources */, 27612C6A0F69DAD74E0FEB17816B9E15 /* TabBarPicker.m in Sources */, F959AAD4573A311BB8F79F1AF6BF166E /* TabBarPickerSubItemsView.m in Sources */, diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index d5bce93..505ea50 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -55,7 +55,7 @@ //[_itemButton autoPinEdgesToSuperviewMargins]; if (!_didSetupConstraints) { [_itemButton autoCenterInSuperview]; - [_itemButton autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; + [_itemButton autoSetDimension:ALDimensionHeight toSize:44]; [_itemButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; _didSetupConstraints = YES; diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 43081c1..d7ef242 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -9,7 +9,7 @@ #import "TabBarPicker.h" #import #import "TabBarPickerSubItemsView.h" -#import "ToucheableScrollView.h" +#import "MMCPSScrollView.h" #import #import "NSString+HexColor.h" @@ -25,8 +25,8 @@ @property (nonatomic, strong) NSMutableArray *tabBarItemsConstraints; @property (nonatomic, strong) TabBarItem *selectedTabBarItem; -@property (nonatomic, strong) ToucheableScrollView *subItemScrollView; -@property (assign, nonatomic) int totalPages; +@property (nonatomic, strong) UIView *tabBarView; +@property (nonatomic, strong) MMCPSScrollView *subItemScrollView; @end @@ -70,19 +70,25 @@ _tabBarItems = [[NSMutableArray alloc] init]; + _tabBarView = [[UIView alloc] initForAutoLayout]; + + [self addSubview:_tabBarView]; + for (NSObject *item in items) { if (item && [item isKindOfClass:[TabBarItem class]]) { [_tabBarItems addObject:item]; [(TabBarItem*)item setDelegate:self]; - [self addSubview:item]; + [_tabBarView addSubview:item]; } } - _subItemScrollView = [[ToucheableScrollView alloc] initForAutoLayout]; + _subItemScrollView = [[MMCPSScrollView alloc] initForAutoLayout]; [_subItemScrollView setPagingEnabled:YES]; [_subItemScrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [_subItemScrollView setUserInteractionEnabled:YES]; + [_subItemScrollView setMMCPSDelegate:self]; + [_subItemScrollView setPageSize:1]; [self addSubview:_subItemScrollView]; } @@ -141,11 +147,17 @@ case TabBarPickerPositionBottom: default:{ - _hideConstraint = [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; - [self autoSetDimension:ALDimensionHeight toSize:44]; + _hideConstraint = [self autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self.superview withOffset:299 relation:NSLayoutRelationEqual]; + + [self autoSetDimension:ALDimensionHeight toSize:343]; [self autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview withOffset:0 relation:_layoutRelation]; [self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]; + [_tabBarView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview]; + [_tabBarView autoSetDimension:ALDimensionHeight toSize:44]; + [_tabBarView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_tabBarView autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:self]; + [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; @@ -156,11 +168,12 @@ [_subItemScrollView autoSetDimension:ALDimensionHeight toSize:343]; [_subItemScrollView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:[_tabBarItems firstObject]]; [_subItemScrollView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_subItemScrollView setSegmentSize:[[UIScreen mainScreen] bounds].size.width ]; + [_subItemScrollView setType:MMCPSScrollHorizontal]; if ([_tabBarItems count] > 0) { int i = 0; - TabBarItem *prevItem; for (TabBarItem *item in _tabBarItems) { if ([item itemSubView]) { @@ -193,36 +206,18 @@ [_subItemSelectors addObject:[item itemSubView]]; - if (!prevItem) { - // Align to contentView - [pageLabel autoPinEdgeToSuperviewEdge:ALEdgeLeft]; - } else { - // Align to prev label - [pageLabel autoConstrainAttribute:ALAttributeLeading toAttribute:ALAttributeTrailing ofView:prevLabel]; - } - - if (i == pages - 1) { - // Last page - [pageLabel autoPinEdgeToSuperviewEdge:ALEdgeRight]; - } - - prevItem = item; } } [_subItemScrollView setPageSize:1]; } - //[_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; - - //[[_subItemSelectors firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - - //[_subItemScrollView layoutIfNeeded]; + [_subItemSelectors autoDistributeViewsAlongAxis:ALAxisHorizontal alignedTo:ALAttributeHorizontal withFixedSpacing:0 insetSpacing:YES matchedSizes:YES]; + [[_subItemSelectors firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; } break; } - _didSetupConstraints = YES; [self updateConstraintsIfNeeded]; @@ -300,7 +295,7 @@ default: { [_hideConstraint autoRemove]; - _showConstraint = [self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:_subItemScrollView.frame.size.height]; + _showConstraint = [self autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self.superview withOffset:0 relation:NSLayoutRelationEqual]; break; } } @@ -349,7 +344,7 @@ default: { [_showConstraint autoRemove]; - _hideConstraint = [self autoPinEdgeToSuperviewMargin:ALEdgeBottom]; + _hideConstraint = [self autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self.superview withOffset:299 relation:NSLayoutRelationEqual]; break; } } @@ -389,7 +384,7 @@ } _selectedTabBarItem = selectedItem; - [_subItemScrollView scrollToPage:[_tabBarItems indexOfObject:_selectedTabBarItem]+1]; + [_subItemScrollView scrollToPage:[_tabBarItems indexOfObject:_selectedTabBarItem]]; } #pragma mark - diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index dfa8827..3bb32b8 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -21,6 +21,7 @@ @property (nonatomic, strong) UISwitch *itemSwich; @property (nonatomic, strong) UILabel *switchBarLabel; @property (nonatomic, strong) UIButton *localizationButton; +@property (nonatomic, strong) UIView *contentView; @end @@ -32,37 +33,40 @@ - (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems needsLocalization:(BOOL) needsLocalization{ - self = [self initForAutoLayout]; + self = [self initForAutoLayout]; if (self) { [self setUserInteractionEnabled:YES]; - _type = type; - _needsLocalization = needsLocalization; - _switchBarView = [[UIView alloc] initForAutoLayout]; + _type = type; + _needsLocalization = needsLocalization; + _switchBarView = [[UIView alloc] initForAutoLayout]; [_switchBarView setBackgroundColor:[@"f7f7f7" colorFromHex]]; - _switchBarLabel = [[UILabel alloc] initForAutoLayout]; + _switchBarLabel = [[UILabel alloc] initForAutoLayout]; [_switchBarLabel setTextColor:[@"999999" colorFromHex]]; [_switchBarLabel setText:NSLocalizedString(@"Distance", @"")]; [_switchBarView addSubview:_switchBarLabel]; - _itemSwich = [[UISwitch alloc] initForAutoLayout]; + _itemSwich = [[UISwitch alloc] initForAutoLayout]; [_itemSwich setOnTintColor:[@"ff4e50" colorFromHex]]; - + [_itemSwich.layer setBorderWidth:2]; [_itemSwich.layer setBorderColor:[[@"cccccc" colorFromHex] CGColor]]; [_itemSwich.layer setCornerRadius:_itemSwich.frame.size.height/2]; [_itemSwich setUserInteractionEnabled:YES]; [_itemSwich addTarget:self action:@selector(changeSwitch:) forControlEvents:UIControlEventValueChanged]; - [_switchBarView addSubview:_itemSwich]; + + _contentView = [[UIView alloc] initForAutoLayout]; + + + [self addSubview:_contentView]; if (_needsLocalization) { - _localizationView = [[UIView alloc] initForAutoLayout]; + _localizationView = [[UIView alloc] initForAutoLayout]; [_localizationView setBackgroundColor:[UIColor purpleColor]]; [_localizationView setAlpha:0]; - _localizationButton = [[UIButton alloc] initForAutoLayout]; [_localizationButton setTitle:NSLocalizedString(@"ATTIVA LOCALIZZAZIONE DISPOSITIVO", @"") forState:UIControlStateNormal]; [_localizationButton addTarget:self action:@selector(openSettings) forControlEvents:UIControlEventTouchUpInside]; @@ -75,16 +79,12 @@ [_localizationView addSubview:_localizationButton]; - [self addSubview:_localizationView]; + [_contentView addSubview:_localizationView]; } - /*_subItems = [[NSMutableArray alloc] init]; - for (NSObject *subItem in subItems) { - if ([subItem isKindOfClass:[TabBarSubItem class]]) { - [_subItems addObject:subItem]; - } - }*/ [self addSubview:_switchBarView]; + + [_switchBarView addSubview:_itemSwich]; } [self updateConstraintsIfNeeded]; @@ -115,22 +115,34 @@ [_itemSwich autoPinEdge:ALEdgeRight toEdge:ALEdgeRight ofView:_switchBarView withOffset:-20]; [_itemSwich autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - [_localizationView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:_itemSwich withOffset:4]; - [_localizationView autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self]; - [_localizationView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; - - [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; - [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisVertical]; - [_localizationButton autoSetDimension:ALDimensionHeight toSize:44 relation:NSLayoutRelationLessThanOrEqual]; - [_localizationButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self withMultiplier:0.8]; + [_contentView autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:_switchBarView]; + [_contentView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + [_contentView autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self]; + [_contentView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + if (_needsLocalization) { + + [_localizationView autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:_contentView]; + + [_localizationView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_localizationView autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + [_localizationView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + + [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_localizationButton autoSetDimension:ALDimensionHeight toSize:44 relation:NSLayoutRelationLessThanOrEqual]; + [_localizationButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self withMultiplier:0.8]; + } _didSetupConstraints = YES; } - NSLog(@"%f %f",self.frame.size.width,self.frame.size.height); - NSLog(@"%f %f",_switchBarView.frame.size.width,_switchBarView.frame.size.height); + [_localizationButton.layer setCornerRadius:_localizationButton.frame.size.height/2]; } +- (void) setBackgroundColor:(UIColor *)backgroundColor { + [_contentView setBackgroundColor:backgroundColor]; +} + - (void) enableLocalizationWithView:(UIView *) localizationView { _needsLocalization = YES; _localizationView = localizationView; diff --git a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m index b05c571..d491db6 100755 --- a/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m +++ b/Pod/Classes/Vendor/MMCPSScrollView/MMCPSScrollView.m @@ -324,20 +324,19 @@ { // If not dragging, send event to next responder if (!self.dragging) { - [self.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + if ([self.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder touchesEnded: touches withEvent:event]; + } + if ([self.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + } + if ([self.nextResponder.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + } } - else + else { [super touchesEnded: touches withEvent: event]; - -} - -- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { - - if (!self.dragging) { - [self.nextResponder.nextResponder touchesBegan: touches withEvent:event]; } - else - [super touchesBegan: touches withEvent:event]; } diff --git a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h deleted file mode 100755 index 5383598..0000000 --- a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// ToucheableScrollView.m -// -// -// Created by Mario Nolassi on 11/16/11. -// Copyright (c) 2011 meedori. All rights reserved. -// - -#import - -@interface ToucheableScrollView : UIScrollView - -@end diff --git a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m deleted file mode 100755 index 9aabbf0..0000000 --- a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// ToucheableScrollView.m -// -// -// Created by Mario Nolassi on 11/16/11. -// Copyright (c) 2011 meedori. All rights reserved. -// - -#import "ToucheableScrollView.h" - -@implementation ToucheableScrollView - -- (id)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - - if (self) { - - } - return self; -} -- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event -{ - // If not dragging, send event to next responder - if (!self.dragging) { - if ([self.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { - [self.nextResponder touchesEnded: touches withEvent:event]; - } - if ([self.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { - [self.nextResponder.nextResponder touchesEnded: touches withEvent:event]; - } - if ([self.nextResponder.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { - [self.nextResponder.nextResponder.nextResponder touchesEnded: touches withEvent:event]; - } - } - else { - [super touchesEnded: touches withEvent: event]; - } - -} -@end - - - From ab1b14b4e2503853b674c7e066b45b6fc667e2a9 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 18 Aug 2015 15:00:07 +0200 Subject: [PATCH 12/13] - Add Alert block --- Example/Podfile | 4 + Example/Podfile.lock | 6 + .../UIActionSheet+Blocks.h | 1 + .../AlertViewActionDispatcher.h | 1 + .../UIAlertView+BlockExtension.h | 1 + Example/Pods/Manifest.lock | 6 + Example/Pods/Pods.xcodeproj/project.pbxproj | 1040 +++++++++++------ .../xcschemes/TabBarPicker.xcscheme | 2 +- ...arPicker_Example-acknowledgements.markdown | 36 + ...abBarPicker_Example-acknowledgements.plist | 44 + .../Pods-TabBarPicker_Example-frameworks.sh | 4 + .../Pods-TabBarPicker_Example.debug.xcconfig | 4 +- ...Pods-TabBarPicker_Example.release.xcconfig | 4 +- .../Pods/Pods-acknowledgements.markdown | 36 + .../Pods/Pods-acknowledgements.plist | 44 + .../Pods/Pods-frameworks.sh | 4 + .../Pods/Pods.debug.xcconfig | 4 +- .../Pods/Pods.release.xcconfig | 4 +- .../UIActionSheet-Blocks/Info.plist | 26 + .../UIActionSheet-Blocks-Private.xcconfig | 5 + .../UIActionSheet-Blocks-dummy.m | 5 + .../UIActionSheet-Blocks-prefix.pch | 4 + .../UIActionSheet-Blocks-umbrella.h | 7 + .../UIActionSheet-Blocks.modulemap | 6 + .../UIActionSheet-Blocks.xcconfig | 0 .../UIAlertViewBlockExtension/Info.plist | 26 + ...UIAlertViewBlockExtension-Private.xcconfig | 5 + .../UIAlertViewBlockExtension-dummy.m | 5 + .../UIAlertViewBlockExtension-prefix.pch | 4 + .../UIAlertViewBlockExtension-umbrella.h | 8 + .../UIAlertViewBlockExtension.modulemap | 6 + .../UIAlertViewBlockExtension.xcconfig | 0 Example/Pods/UIActionSheet-Blocks/LICENSE | 7 + Example/Pods/UIActionSheet-Blocks/README.md | 72 ++ .../UIActionSheet+Blocks.h | 57 + .../UIActionSheet+Blocks.m | 77 ++ .../AlertViewActionDispatcher.h | 21 + .../AlertViewActionDispatcher.m | 59 + .../UIAlertView+BlockExtension.h | 22 + .../UIAlertView+BlockExtension.m | 50 + .../UIAlertViewBlockExtension/LICENSE.txt | 21 + .../Pods/UIAlertViewBlockExtension/README.md | 32 + Pod/Classes/TabBarPickerSubItemsView.m | 18 +- 43 files changed, 1435 insertions(+), 353 deletions(-) create mode 120000 Example/Pods/Headers/Private/UIActionSheet-Blocks/UIActionSheet+Blocks.h create mode 120000 Example/Pods/Headers/Private/UIAlertViewBlockExtension/AlertViewActionDispatcher.h create mode 120000 Example/Pods/Headers/Private/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/Info.plist create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-dummy.m create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-umbrella.h create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap create mode 100644 Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/Info.plist create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-dummy.m create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-umbrella.h create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap create mode 100644 Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig create mode 100644 Example/Pods/UIActionSheet-Blocks/LICENSE create mode 100644 Example/Pods/UIActionSheet-Blocks/README.md create mode 100644 Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.h create mode 100644 Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.m create mode 100644 Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h create mode 100644 Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m create mode 100644 Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h create mode 100644 Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m create mode 100644 Example/Pods/UIAlertViewBlockExtension/LICENSE.txt create mode 100644 Example/Pods/UIAlertViewBlockExtension/README.md diff --git a/Example/Podfile b/Example/Podfile index b883fb7..628e809 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -4,12 +4,16 @@ use_frameworks! inhibit_all_warnings! pod 'PureLayout' pod 'pop', '~> 1.0' +pod 'UIActionSheet-Blocks' +pod 'UIAlertViewBlockExtension' target 'TabBarPicker_Example', :exclusive => true do pod "TabBarPicker", :path => "../" pod 'PureLayout' pod 'pop', '~> 1.0' pod 'UIView-Overlay' + pod 'UIActionSheet-Blocks' + pod 'UIAlertViewBlockExtension' end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index d6951cb..e89fb22 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -2,12 +2,16 @@ PODS: - pop (1.0.7) - PureLayout (3.0.0) - TabBarPicker (0.1.0) + - UIActionSheet-Blocks (1.0.1) + - UIAlertViewBlockExtension (1.0.1) - UIView-Overlay (0.1) DEPENDENCIES: - pop (~> 1.0) - PureLayout - TabBarPicker (from `../`) + - UIActionSheet-Blocks + - UIAlertViewBlockExtension - UIView-Overlay EXTERNAL SOURCES: @@ -18,6 +22,8 @@ SPEC CHECKSUMS: pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 PureLayout: 270dfee2236f697ab1d5e2771c2e5c248495fa0d TabBarPicker: 0b8b0c04ad47ed9c740cef5d31cac7fefe6cb273 + UIActionSheet-Blocks: a5781709d4c7e1bf81e0498caf187ab0535e5caf + UIAlertViewBlockExtension: b4b0a1e62c94170bacce519a2b16afbc81673714 UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 COCOAPODS: 0.38.2 diff --git a/Example/Pods/Headers/Private/UIActionSheet-Blocks/UIActionSheet+Blocks.h b/Example/Pods/Headers/Private/UIActionSheet-Blocks/UIActionSheet+Blocks.h new file mode 120000 index 0000000..46368fa --- /dev/null +++ b/Example/Pods/Headers/Private/UIActionSheet-Blocks/UIActionSheet+Blocks.h @@ -0,0 +1 @@ +../../../UIActionSheet-Blocks/UIActionSheet+Blocks.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/UIAlertViewBlockExtension/AlertViewActionDispatcher.h b/Example/Pods/Headers/Private/UIAlertViewBlockExtension/AlertViewActionDispatcher.h new file mode 120000 index 0000000..fd0dd85 --- /dev/null +++ b/Example/Pods/Headers/Private/UIAlertViewBlockExtension/AlertViewActionDispatcher.h @@ -0,0 +1 @@ +../../../UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h b/Example/Pods/Headers/Private/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h new file mode 120000 index 0000000..3f7c34f --- /dev/null +++ b/Example/Pods/Headers/Private/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h @@ -0,0 +1 @@ +../../../UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h \ No newline at end of file diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index d6951cb..e89fb22 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -2,12 +2,16 @@ PODS: - pop (1.0.7) - PureLayout (3.0.0) - TabBarPicker (0.1.0) + - UIActionSheet-Blocks (1.0.1) + - UIAlertViewBlockExtension (1.0.1) - UIView-Overlay (0.1) DEPENDENCIES: - pop (~> 1.0) - PureLayout - TabBarPicker (from `../`) + - UIActionSheet-Blocks + - UIAlertViewBlockExtension - UIView-Overlay EXTERNAL SOURCES: @@ -18,6 +22,8 @@ SPEC CHECKSUMS: pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 PureLayout: 270dfee2236f697ab1d5e2771c2e5c248495fa0d TabBarPicker: 0b8b0c04ad47ed9c740cef5d31cac7fefe6cb273 + UIActionSheet-Blocks: a5781709d4c7e1bf81e0498caf187ab0535e5caf + UIAlertViewBlockExtension: b4b0a1e62c94170bacce519a2b16afbc81673714 UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 COCOAPODS: 0.38.2 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 72e8acb..d36acaa 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -10,26 +10,26 @@ 03208AEB6A03CCA0C77A5DA3A79BD522 /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; 060E7DD819F53729654E36495DF47426 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; 07501B134439D43A603B50365BAB8C36 /* NSString+HexColor.m in Sources */ = {isa = PBXBuildFile; fileRef = ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 09D38304BB76CB9194061FF21B54687F /* UIAlertViewBlockExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C4CA99AF612C24DED5E74B745FC1344 /* UIAlertViewBlockExtension-dummy.m */; }; 0BFE7C394E8150EF5FD76D3675116D48 /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0EAB569A3E1579E852A97E70B2A52B19 /* UIView+Overlay.h in Headers */ = {isa = PBXBuildFile; fileRef = B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0F7B5941BC1A4A320845B9B863551176 /* pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 108E0EDA81BB5E6B0343D317882BE687 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - 11C5B9474617E9D2DB312798E38A2DC9 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 141AA641914936AB790CE6FCB178B1D7 /* MMCPSScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 15EBB865A82DF72209B0E02819463060 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; 15EEB9A75A38BB0F7C3B2448A705AD83 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; 19022D54C183B386CBCC3929AB78ED45 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1904012DCB9E2E0F904199387E995946 /* UIAlertView+BlockExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 58277D5C8D6A027E9F83DA57FD4CD4C4 /* UIAlertView+BlockExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1F507AB6238183B539DD9E8D6886BDED /* POPAnimationTracer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 203E916178B206E4760E275D94B537FA /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; 242683D9189D01DB10D327BD4807ADF2 /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; 242F2CEE058E9AFB0886BC75D30F5897 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; 27612C6A0F69DAD74E0FEB17816B9E15 /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2773E86D775C65479A4FC871ECCF322B /* UIActionSheet-Blocks-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A8FFBDEB63199AE8279A19F0D250C8E /* UIActionSheet-Blocks-dummy.m */; }; 29B97DBB30EE19D048BEC6E25E9F9F14 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; 2A65286B5726E4AF0A5395E6B035F614 /* NSString+HexColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2B787FFB562C10AD02FE1C9005365F43 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 2D696A7493C3B7A7DC34C3857719B884 /* SharedLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 30BE2AA9FA254A8A54B20C5D1C439CED /* UIView-Overlay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */; }; - 3329AF43344F94C2DD9A49EB23068CE8 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */; }; 34EC1894BF64A676F556AE2782F2E2A6 /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 3515851F45C9BB3FFDDD122095FF7797 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 384CE5874312610CF1414126D6E41435 /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -39,7 +39,8 @@ 48D0C42EEA0F59047616F9D4F51FBD10 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4A629B0B3B3C72CBCC07FC57FEB9FFB5 /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4BD95F156CB439EB08218A9B1BC10F87 /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4EBD0FC5A72489379615C5E2E3A9C03D /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50E1538F1556D387C5164A072FC23570 /* UIActionSheet+Blocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C0C90B45384C64964081948268EA1CF /* UIActionSheet+Blocks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5399D919350C1DA1537C5307762FC7D4 /* UIActionSheet+Blocks.m in Sources */ = {isa = PBXBuildFile; fileRef = BFA0253EFF494DE91B9188C8142F6460 /* UIActionSheet+Blocks.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; 5408B931355E2EB35B43B6E44EC7075C /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 5894F10E4EE16E60EFEA6CAF8F39BEAC /* TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D0EB7072D641D8EBF0FF6E2866DAF7B /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; @@ -49,15 +50,18 @@ 6115D515692E38D8D809451232B83C52 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 64936125353B370402AC7A2390B2319B /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BCC05ECC95382C9EF2ACC119EFA5E28 /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6821181ABC8D74220E7B8667CA488482 /* UIActionSheet-Blocks-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ADAF2F396F7D8A76FB8CD61DF2B3570 /* UIActionSheet-Blocks-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6E03012F2843C461762C74A9A046EF2E /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */; }; 728A5FCB02E1760C95DEA5ED83A2C1C5 /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; 73F5A493933876566BFE1C7557D058E0 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; 758F4837B21699E995B3DA7873BE5AB9 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 761477C8633300B1495BAA4EBF93527A /* AlertViewActionDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F326ECBD421558567D7D4D6DE746A2 /* AlertViewActionDispatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7635805E27D4F352CC4AC4F3E0B2228C /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7687E83DA7BAC649B3BFB96A702B8EF7 /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7722493DFDD6EC5317378CCA6C5F6C5B /* AlertViewActionDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 29089DD2B4691C6A338790862F97B2EC /* AlertViewActionDispatcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7997BBF6E3FBC7DF5295ABF7224B89A4 /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7BE5B65C18977D405062ACF22B6EF38C /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7C632502864E8AE6F403AE489B593056 /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -65,14 +69,16 @@ 7D895EB8CC992C0E734A1AC7E73F7D41 /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7DCA23DE188D729056E041F49C521C1B /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 800AE2604DB4E050529B32FB08E5D2CF /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8307CAD078138F1D1381C26992A80FE5 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F343D98F46F354D1807A1F52E6E36AD /* Pods-dummy.m */; }; 85005EF9A1EFBDE7B923C85541044847 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 8684DD0504E7EC38B91A22B510C6A01D /* TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */; }; 870316C705D226E9990777155D6AC4EC /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8B9B75C7523CEBCAF2D86154DDFA98AD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; 8E2CDC7269B59EAC84AEA46D5E28B826 /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8FB29797E35802BE65A888432368F471 /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 90129E00295631C4089C9A8A1EE6519F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + 916A29561C3E959D2829BCE7E31BC5DE /* UIAlertView+BlockExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 83921BCA321A4BCC93EA3DD5832C85BE /* UIAlertView+BlockExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 93F5920F69AC785B428577FC0BE0882B /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 95540F361B7B0ADA359C7E7FDD208D1D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; 96D7ABD08A98128E60E0F50069359FC0 /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; }; 987758B8CC9AE1B9722212C159E99125 /* Pods-TabBarPicker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */; }; 9891293FB5D8A4C867C6FE6108C67500 /* UIImage+Color.m in Sources */ = {isa = PBXBuildFile; fileRef = BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; @@ -80,6 +86,7 @@ A1A922D53B283BE53F75515F470D2755 /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; A30219FCF9EC37ABE44DC610005C2595 /* UIView-Overlay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; A7A6A047CA9F0ADFA09FA3F58E8DA1E3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; + AE112AF4A8298C9DA2C4D87F2FD0B06E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; AEB41D63ACB6BAF7B6DA8EAB5DBFDFEF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; B2E46B8E61B80795CD4E94081F3A51C2 /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; B373D36B22355D41ABB9B75F3EA0BBF2 /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; @@ -87,6 +94,7 @@ B65A29FBEECF62A70B2A981ED1AE3BC9 /* UIButton+BackgroundColor.h in Headers */ = {isa = PBXBuildFile; fileRef = EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; B807414C5B82738C9AE261FC4BD35633 /* UIButton+BackgroundColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; B80B8212180CFDFFDCA9568F41595AE0 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B86832123B4DFE5CE180B18C4CAF0C8E /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E6071A8A1FC882289A416D3DCB73BF9C /* Pods-TabBarPicker_Example-dummy.m */; }; BA97F812224F556023C97037E1B9B768 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; BCFE039CCE625E616A25871D8BB2601D /* UIView+Overlay.m in Sources */ = {isa = PBXBuildFile; fileRef = CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; BE8FD01BD558BC524643D9691934BCDF /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */; }; @@ -94,11 +102,15 @@ C3B4357DC8723B40B75036643935EBD7 /* MMCPSScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; CBC724E48D4294B56D03568A11D05FF1 /* UIImage+Color.h in Headers */ = {isa = PBXBuildFile; fileRef = 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */; settings = {ATTRIBUTES = (Public, ); }; }; CCBEA17C33C968D4115035DFD75D03C7 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD4768AAB960B0210D029E470E5D4640 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 675CC0337FE68D69EEB51AF67E30F8E3 /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; D905A57ED65F1E5DFD546AA26BBA6632 /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; E01D81DAECC949E0D350DEF8A8DEF9DA /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = D59AE80D8F830B2B594F27731251395F /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; E0C2B1971770264E2BC030EBFA522C67 /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0D2D54F5DF6C392E767E2AF1129BBD0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; E2B4468A72DF980C1B77E6CC18DC82F5 /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E51881B12C8967AC6332B313DA6FBF5F /* UIAlertViewBlockExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 01275C738EEBB0C959DF5D5840BBF280 /* UIAlertViewBlockExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; E822E9813D45FF34F11862731B65F4D7 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ECAD2632FB8BE957B3FB21096943B3FE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; ED5C0B5FD3B73C3015AC56C9E5FACA48 /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; EDC72938DF5998BBBC017B2FE8B20768 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; F3A5427CD0560096A6A82144B8B59C70 /* pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */; }; @@ -112,74 +124,108 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 083B093D10F9DF2FDAD39AE5222A2FB2 /* PBXContainerItemProxy */ = { + 1156D619B3818E297D0D12E9548FE9C6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C0BF957FAF71CC8A3C616196CE12BE11; + remoteInfo = UIAlertViewBlockExtension; + }; + 39BEC4C359890CC3BD92704DA1A15F77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; + remoteInfo = pop; + }; + 4A6726B6AB132BED7AA77B26F94A3AFB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; + remoteInfo = PureLayout; + }; + 5B21EDF65D581DDBCE165947B38A8EC8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; + remoteInfo = pop; + }; + 9904DE571308F6DB1539A36EDE7EF689 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; + remoteInfo = TabBarPicker; + }; + ACBE1C00D7835522A99B7823A65EE366 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = B8AFD9D9A9DD2282FC523C9360E3FD0B; + remoteInfo = "UIActionSheet-Blocks"; + }; + B47859329A14B07C93E9F50FD5839803 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 31D04736AA8F72A7EDD28D5A60339B0F; remoteInfo = "UIView-Overlay"; }; - 2422694340FEE734A32BAEADDC2EDAA1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; - remoteInfo = TabBarPicker; - }; - 4F92234C46EF40937512047DE1C68200 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; - remoteInfo = pop; - }; - 54E7978A31596E0942D9395655EB6B6B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; - remoteInfo = PureLayout; - }; - 6DC4045376991B2F4FE77D1CFF871503 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; - remoteInfo = pop; - }; - 718DAA8C463F278C51EFAE2FE4DBB153 /* PBXContainerItemProxy */ = { + BE0EA4BEE4746C80AA92E99613AC8AC2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = A3EDD948F9BE0382C98E8FCC6F145936; remoteInfo = "TabBarPicker-TabBarPicker"; }; - 9EB5C63E5A8712567D26F5DDF85E9408 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; - remoteInfo = TabBarPicker; - }; - F1E65B36CE83A735C24042E5B005DB98 /* PBXContainerItemProxy */ = { + BFD6B69F1954471793C25AA47BF47984 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; remoteInfo = PureLayout; }; + C0EC88B859F3AC62E2FF2F63C5EED979 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; + remoteInfo = TabBarPicker; + }; + C20F0D51880A805056D8DD360E87BB89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C0BF957FAF71CC8A3C616196CE12BE11; + remoteInfo = UIAlertViewBlockExtension; + }; + CE7788D9F3896FA98A2BFE332E9A531E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = B8AFD9D9A9DD2282FC523C9360E3FD0B; + remoteInfo = "UIActionSheet-Blocks"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimationInternal.h; path = pop/POPDecayAnimationInternal.h; sourceTree = ""; }; + 01275C738EEBB0C959DF5D5840BBF280 /* UIAlertViewBlockExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIAlertViewBlockExtension-umbrella.h"; sourceTree = ""; }; 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatableProperty.h; path = pop/POPAnimatableProperty.h; sourceTree = ""; }; 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationEvent.mm; path = pop/POPAnimationEvent.mm; sourceTree = ""; }; + 057958F38FCC99BBECF2AFCFE6C77BF0 /* pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = pop.xcconfig; sourceTree = ""; }; 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-frameworks.sh"; sourceTree = ""; }; 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 0904674A54C7A3F9B5ECCED4CE5462CA /* UIView-Overlay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIView-Overlay.modulemap"; sourceTree = ""; }; 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; - 09D0BE9B95DC0AB1A10C5C5CBF007372 /* pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = pop.modulemap; sourceTree = ""; }; + 09F0104F4C8F308E96ECD6870B17F847 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0A711227966BA949140D7F5462CB2606 /* UIAlertViewBlockExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIAlertViewBlockExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0C4CA99AF612C24DED5E74B745FC1344 /* UIAlertViewBlockExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIAlertViewBlockExtension-dummy.m"; sourceTree = ""; }; + 0E839404844309F95E6F89FA7F86A7C4 /* UIView-Overlay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-prefix.pch"; sourceTree = ""; }; 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; - 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; + 1245B4499EA33CBEE1C8AF99C76BA7E7 /* UIActionSheet-Blocks-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet-Blocks-prefix.pch"; sourceTree = ""; }; 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+BackgroundColor.m"; sourceTree = ""; }; 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEventInternal.h; path = pop/POPAnimationEventInternal.h; sourceTree = ""; }; @@ -190,61 +236,73 @@ 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimator.h; path = pop/POPAnimator.h; sourceTree = ""; }; 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimation.mm; path = pop/POPAnimation.mm; sourceTree = ""; }; + 29089DD2B4691C6A338790862F97B2EC /* AlertViewActionDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AlertViewActionDispatcher.m; path = AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m; sourceTree = ""; }; + 2AA71E3B0198B726B6ACF8717C003825 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimation.h; path = pop/POPBasicAnimation.h; sourceTree = ""; }; + 2B28537792C819C671A3C1B784BBD2E1 /* UIAlertViewBlockExtension-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIAlertViewBlockExtension-prefix.pch"; sourceTree = ""; }; 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; + 2C0C90B45384C64964081948268EA1CF /* UIActionSheet+Blocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet+Blocks.h"; sourceTree = ""; }; 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; - 2E30818E45DD33C5E4BDFDEE442335F8 /* UIView-Overlay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-prefix.pch"; sourceTree = ""; }; + 333488D10B952CEE843D891B0FD86586 /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCustomAnimation.h; path = pop/POPCustomAnimation.h; sourceTree = ""; }; 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCustomAnimation.mm; path = pop/POPCustomAnimation.mm; sourceTree = ""; }; 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimationInternal.h; path = pop/POPPropertyAnimationInternal.h; sourceTree = ""; }; - 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracer.h; path = pop/POPAnimationTracer.h; sourceTree = ""; }; 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatorPrivate.h; path = pop/POPAnimatorPrivate.h; sourceTree = ""; }; + 406E546B7EE79DC9406C0B0D50DCE847 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-umbrella.h"; sourceTree = ""; }; - 4479B35E973BC64612AFE56A67C3A7E4 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = PureLayout.modulemap; sourceTree = ""; }; + 443DBE5EFC78E4DA3BA8009969AB82D3 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; + 4470612A0D7507992168F3515906A198 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 46BFF97BA8EC2F3F88ADE5237D31312F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4BCC05ECC95382C9EF2ACC119EFA5E28 /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationExtras.mm; path = pop/POPAnimationExtras.mm; sourceTree = ""; }; 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TabBarPicker.xcconfig; sourceTree = ""; }; + 4EA156B9D7B45653F7D72F9AD9677C8D /* UIView-Overlay.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay.xcconfig"; sourceTree = ""; }; 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+HexColor.h"; sourceTree = ""; }; - 5400657DC452384B43BD2099AC8BDC49 /* UIView-Overlay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIView-Overlay.modulemap"; sourceTree = ""; }; - 56CBBA1282670189371B75E1895ADFC7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 56E7469FDD8353F98B7D18192EC48657 /* UIView-Overlay.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay.xcconfig"; sourceTree = ""; }; + 52F326ECBD421558567D7D4D6DE746A2 /* AlertViewActionDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AlertViewActionDispatcher.h; path = AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h; sourceTree = ""; }; 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; + 58277D5C8D6A027E9F83DA57FD4CD4C4 /* UIAlertView+BlockExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIAlertView+BlockExtension.h"; path = "AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h"; sourceTree = ""; }; 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimationInternal.h; path = pop/POPBasicAnimationInternal.h; sourceTree = ""; }; 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UnitBezier.h; path = pop/WebCore/UnitBezier.h; sourceTree = ""; }; 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.debug.xcconfig"; sourceTree = ""; }; 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationInternal.h; path = pop/POPAnimationInternal.h; sourceTree = ""; }; - 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 600FCA011088B2DF371E21218156A7F6 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPGeometry.h; path = pop/POPGeometry.h; sourceTree = ""; }; 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Example-acknowledgements.markdown"; sourceTree = ""; }; 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPLayerExtras.h; path = pop/POPLayerExtras.h; sourceTree = ""; }; 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; + 675CC0337FE68D69EEB51AF67E30F8E3 /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SharedLocationManager.h; sourceTree = ""; }; 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SharedLocationManager.m; sourceTree = ""; }; 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; + 6F38C68DF8E83372339E86F5FA718023 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; + 71B2C71E7FB812DD60E4B549ADCE1DAB /* pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-prefix.pch"; sourceTree = ""; }; 73CE6B07292175B9D39CBFFC0DB41A60 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEvent.h; path = pop/POPAnimationEvent.h; sourceTree = ""; }; - 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; + 761704FFCAD0CB5CCD6B93F25AD6AA17 /* UIActionSheet-Blocks.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIActionSheet-Blocks.xcconfig"; sourceTree = ""; }; 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPPropertyAnimation.mm; path = pop/POPPropertyAnimation.mm; sourceTree = ""; }; - 76E4E222A31EB57B3FAE7BD127882279 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationRuntime.mm; path = pop/POPAnimationRuntime.mm; sourceTree = ""; }; 79ED7F11B8B30282685F622BDF426547 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7EC4CA78903DD6994C05A85DCF5F68DA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7A8FFBDEB63199AE8279A19F0D250C8E /* UIActionSheet-Blocks-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet-Blocks-dummy.m"; sourceTree = ""; }; + 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIAlertViewBlockExtension-Private.xcconfig"; sourceTree = ""; }; + 7F343D98F46F354D1807A1F52E6E36AD /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + 82DF04FACBE07C9562F9EDEF54676003 /* UIActionSheet-Blocks.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIActionSheet-Blocks.modulemap"; sourceTree = ""; }; + 83921BCA321A4BCC93EA3DD5832C85BE /* UIAlertView+BlockExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIAlertView+BlockExtension.m"; path = "AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m"; sourceTree = ""; }; 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+Color.h"; sourceTree = ""; }; - 845F67AAF14F34F0F944FCABA8A1C95F /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; - 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-umbrella.h"; sourceTree = ""; }; 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAction.h; path = pop/POPAction.h; sourceTree = ""; }; + 8ADAF2F396F7D8A76FB8CD61DF2B3570 /* UIActionSheet-Blocks-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet-Blocks-umbrella.h"; sourceTree = ""; }; 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimatableProperty.mm; path = pop/POPAnimatableProperty.mm; sourceTree = ""; }; 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "TabBarPicker-Private.xcconfig"; sourceTree = ""; }; 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; @@ -252,9 +310,10 @@ 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TabBarPicker-dummy.m"; sourceTree = ""; }; 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPSpringAnimation.mm; path = pop/POPSpringAnimation.mm; sourceTree = ""; }; - 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + 91FA5CA09CACBC560BDE8C375A8ECF48 /* UIActionSheet_Blocks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIActionSheet_Blocks.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPVector.h; path = pop/POPVector.h; sourceTree = ""; }; 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView-Overlay-dummy.m"; sourceTree = ""; }; + 9690E74815183E50D72844E517799F05 /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimator.mm; path = pop/POPAnimator.mm; sourceTree = ""; }; 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-prefix.pch"; sourceTree = ""; }; @@ -265,22 +324,21 @@ A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.release.xcconfig"; sourceTree = ""; }; A56413DB484A0F29380EE43337DA9DA8 /* Pods-TabBarPicker_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Example.modulemap"; sourceTree = ""; }; - A5DFF9EFCD54000B6153CA3F5DE69BC4 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-umbrella.h"; sourceTree = ""; }; A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationTracer.mm; path = pop/POPAnimationTracer.mm; sourceTree = ""; }; AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-resources.sh"; sourceTree = ""; }; + AD91FEA622F6A8F0C0B30214CAA1FC2F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Example-acknowledgements.plist"; sourceTree = ""; }; B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Pods.modulemap; sourceTree = ""; }; B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Tests-dummy.m"; sourceTree = ""; }; + B3CC14A2C07C0EC7200575FC791BE81F /* UIAlertViewBlockExtension.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UIAlertViewBlockExtension.xcconfig; sourceTree = ""; }; B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPBasicAnimation.mm; path = pop/POPBasicAnimation.mm; sourceTree = ""; }; - B5CD98140029134DB60055E9C181F4CE /* pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-prefix.pch"; sourceTree = ""; }; - B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCGUtils.h; path = pop/POPCGUtils.h; sourceTree = ""; }; B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Overlay.h"; sourceTree = ""; }; B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-umbrella.h"; sourceTree = ""; }; BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Color.m"; sourceTree = ""; }; - BB49801C2A1FC4A6C872E30D1EBDF2D3 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BFA0253EFF494DE91B9188C8142F6460 /* UIActionSheet+Blocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet+Blocks.m"; sourceTree = ""; }; C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMCPSScrollView.h; sourceTree = ""; }; C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimationInternal.h; path = pop/POPSpringAnimationInternal.h; sourceTree = ""; }; C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; @@ -289,39 +347,59 @@ C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationExtras.h; path = pop/POPAnimationExtras.h; sourceTree = ""; }; C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-resources.sh"; sourceTree = ""; }; C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPGeometry.mm; path = pop/POPGeometry.mm; sourceTree = ""; }; + C8B69475707149C2FE67DE55C7262439 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = PureLayout.modulemap; sourceTree = ""; }; CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Overlay.m"; sourceTree = ""; }; CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PureLayout-Private.xcconfig"; sourceTree = ""; }; CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringSolver.h; path = pop/POPSpringSolver.h; sourceTree = ""; }; - CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Tests-acknowledgements.plist"; sourceTree = ""; }; D29115C7B51D59AB9CFBBF927D069DAB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "pop-Private.xcconfig"; sourceTree = ""; }; D2FCC54601ECBB62AE9A36A0D8BE3507 /* Pods-TabBarPicker_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-frameworks.sh"; sourceTree = ""; }; - D3EBC2CFBEB2CB443D3A093015AFD4D6 /* pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = pop.xcconfig; sourceTree = ""; }; D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-frameworks.sh"; sourceTree = ""; }; D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + D51458B8F46FD6C6746405B499E404C5 /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; D59AE80D8F830B2B594F27731251395F /* POPMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPMath.h; path = pop/POPMath.h; sourceTree = ""; }; DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPLayerExtras.mm; path = pop/POPLayerExtras.mm; sourceTree = ""; }; DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracerInternal.h; path = pop/POPAnimationTracerInternal.h; sourceTree = ""; }; + DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIActionSheet-Blocks-Private.xcconfig"; sourceTree = ""; }; DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Tests.modulemap"; sourceTree = ""; }; DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = TransformationMatrix.cpp; path = pop/WebCore/TransformationMatrix.cpp; sourceTree = ""; }; E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FloatConversion.h; path = pop/WebCore/FloatConversion.h; sourceTree = ""; }; + E6071A8A1FC882289A416D3DCB73BF9C /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMCPSScrollView.m; sourceTree = ""; }; E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "pop-dummy.m"; sourceTree = ""; }; EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDefines.h; path = pop/POPDefines.h; sourceTree = ""; }; EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+BackgroundColor.h"; sourceTree = ""; }; ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+HexColor.m"; sourceTree = ""; }; + EDE812C1C1189EB9B917A0E59FB7C5F4 /* pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = pop.modulemap; sourceTree = ""; }; EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POP.h; path = pop/POP.h; sourceTree = ""; }; EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationPrivate.h; path = pop/POPAnimationPrivate.h; sourceTree = ""; }; + EFFF86131631ED94B1855A8DC9FADBC0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPVector.mm; path = pop/POPVector.mm; sourceTree = ""; }; F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCGUtils.mm; path = pop/POPCGUtils.mm; sourceTree = ""; }; - F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationRuntime.h; path = pop/POPAnimationRuntime.h; sourceTree = ""; }; + FC7511D42A46743BE371B7B01A6E89F3 /* UIAlertViewBlockExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = UIAlertViewBlockExtension.modulemap; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 49A0A96D50E26826AF840B79E450008C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E0D2D54F5DF6C392E767E2AF1129BBD0 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8520A48E45E6B6DC9EC9C8F684889FCE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 90129E00295631C4089C9A8A1EE6519F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 8D982826564F33040944F955F4866DBD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -338,6 +416,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + A91B8D6425530AC502B83B5E40CDE8BE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AE112AF4A8298C9DA2C4D87F2FD0B06E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; AAAAA4342085DEFE61C54EF9A4F0AC88 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -346,14 +432,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - AC9EEAC58C6D20FD5C0254472F5D6ABD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 95540F361B7B0ADA359C7E7FDD208D1D /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; AFD7844FFD6D5B623CA366A6697D1817 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -377,11 +455,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E73B0FCD0C69CDDDB4AE456D3E12BD2B /* Frameworks */ = { + FE4BBC387732232A2FD5DB5386A8BEAE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 108E0EDA81BB5E6B0343D317882BE687 /* Foundation.framework in Frameworks */, + ECAD2632FB8BE957B3FB21096943B3FE /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -403,31 +481,33 @@ path = "Example/Pods/Target Support Files/TabBarPicker"; sourceTree = ""; }; - 0CC341720DA3391596A41DBFC029A2AA /* Pods */ = { + 0ED7E39EFF306913E4C3D8F946D84146 /* Support Files */ = { isa = PBXGroup; children = ( - A2C47666731599FCB6D3E3CC764B23F3 /* PureLayout */, - 2A58384A3F8835553BCF09B629677A4A /* UIView-Overlay */, - B2799B31D52CA8B0CAFDDDFD216755A3 /* pop */, - ); - name = Pods; - sourceTree = ""; - }; - 122807F302738AE4899F7D3C75280210 /* Support Files */ = { - isa = PBXGroup; - children = ( - 7EC4CA78903DD6994C05A85DCF5F68DA /* Info.plist */, - 09D0BE9B95DC0AB1A10C5C5CBF007372 /* pop.modulemap */, - D3EBC2CFBEB2CB443D3A093015AFD4D6 /* pop.xcconfig */, + 600FCA011088B2DF371E21218156A7F6 /* Info.plist */, + EDE812C1C1189EB9B917A0E59FB7C5F4 /* pop.modulemap */, + 057958F38FCC99BBECF2AFCFE6C77BF0 /* pop.xcconfig */, D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */, E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */, - B5CD98140029134DB60055E9C181F4CE /* pop-prefix.pch */, + 71B2C71E7FB812DD60E4B549ADCE1DAB /* pop-prefix.pch */, 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/pop"; sourceTree = ""; }; + 15F06DD8167DCF868A86BF895F4F1520 /* UIAlertViewBlockExtension */ = { + isa = PBXGroup; + children = ( + 52F326ECBD421558567D7D4D6DE746A2 /* AlertViewActionDispatcher.h */, + 29089DD2B4691C6A338790862F97B2EC /* AlertViewActionDispatcher.m */, + 58277D5C8D6A027E9F83DA57FD4CD4C4 /* UIAlertView+BlockExtension.h */, + 83921BCA321A4BCC93EA3DD5832C85BE /* UIAlertView+BlockExtension.m */, + D7B6B5E3E995D99D66EE07F8A17A1A97 /* Support Files */, + ); + path = UIAlertViewBlockExtension; + sourceTree = ""; + }; 25D183D5D94938DF2CA9CB42E5B7EB3A /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -438,16 +518,6 @@ name = "Targets Support Files"; sourceTree = ""; }; - 2A58384A3F8835553BCF09B629677A4A /* UIView-Overlay */ = { - isa = PBXGroup; - children = ( - B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */, - CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */, - 367B0AEA5A5B892E97114FB4088CA6CA /* Support Files */, - ); - path = "UIView-Overlay"; - sourceTree = ""; - }; 2B50D3C0ACD825270CCC306CD51D20E7 /* MMCPSScrollView */ = { isa = PBXGroup; children = ( @@ -457,19 +527,36 @@ path = MMCPSScrollView; sourceTree = ""; }; - 367B0AEA5A5B892E97114FB4088CA6CA /* Support Files */ = { + 3D7E75279251F070480BBDB1BCBFA6BA /* Support Files */ = { isa = PBXGroup; children = ( - BB49801C2A1FC4A6C872E30D1EBDF2D3 /* Info.plist */, - 5400657DC452384B43BD2099AC8BDC49 /* UIView-Overlay.modulemap */, - 56E7469FDD8353F98B7D18192EC48657 /* UIView-Overlay.xcconfig */, - C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */, - 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */, - 2E30818E45DD33C5E4BDFDEE442335F8 /* UIView-Overlay-prefix.pch */, - A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */, + 09F0104F4C8F308E96ECD6870B17F847 /* Info.plist */, + 82DF04FACBE07C9562F9EDEF54676003 /* UIActionSheet-Blocks.modulemap */, + 761704FFCAD0CB5CCD6B93F25AD6AA17 /* UIActionSheet-Blocks.xcconfig */, + DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */, + 7A8FFBDEB63199AE8279A19F0D250C8E /* UIActionSheet-Blocks-dummy.m */, + 1245B4499EA33CBEE1C8AF99C76BA7E7 /* UIActionSheet-Blocks-prefix.pch */, + 8ADAF2F396F7D8A76FB8CD61DF2B3570 /* UIActionSheet-Blocks-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/UIView-Overlay"; + path = "../Target Support Files/UIActionSheet-Blocks"; + sourceTree = ""; + }; + 43D2D8F6A1570E65EA8D2FD0D3CDF84C /* PureLayout */ = { + isa = PBXGroup; + children = ( + 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */, + 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */, + 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */, + C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */, + 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */, + 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */, + 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */, + DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */, + 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */, + FB76E7FEC2ECF7409F45F54EF6097B77 /* Support Files */, + ); + path = PureLayout; sourceTree = ""; }; 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */ = { @@ -487,12 +574,12 @@ A56413DB484A0F29380EE43337DA9DA8 /* Pods-TabBarPicker_Example.modulemap */, 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */, B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */, - F734DA62746E7AC7FD2CFE5D80E55708 /* Pods-TabBarPicker_Example-dummy.m */, + E6071A8A1FC882289A416D3DCB73BF9C /* Pods-TabBarPicker_Example-dummy.m */, D2FCC54601ECBB62AE9A36A0D8BE3507 /* Pods-TabBarPicker_Example-frameworks.sh */, C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */, - CE46CEDD332B7011600234C346A4003F /* Pods-TabBarPicker_Example-umbrella.h */, - 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */, - B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */, + 4BCC05ECC95382C9EF2ACC119EFA5E28 /* Pods-TabBarPicker_Example-umbrella.h */, + 333488D10B952CEE843D891B0FD86586 /* Pods-TabBarPicker_Example.debug.xcconfig */, + 443DBE5EFC78E4DA3BA8009969AB82D3 /* Pods-TabBarPicker_Example.release.xcconfig */, ); name = "Pods-TabBarPicker_Example"; path = "Target Support Files/Pods-TabBarPicker_Example"; @@ -515,7 +602,7 @@ BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, AFB4C340B813C5291DA6514C9847932B /* Development Pods */, BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, - 0CC341720DA3391596A41DBFC029A2AA /* Pods */, + E69B7D7C8F8FD2E27AA620B8C522ED74 /* Pods */, CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, 25D183D5D94938DF2CA9CB42E5B7EB3A /* Targets Support Files */, ); @@ -530,21 +617,6 @@ path = SharedLocationManager; sourceTree = ""; }; - 8E3BA7AF84CB1FD13CBE41AD45E2F68D /* Support Files */ = { - isa = PBXGroup; - children = ( - 56CBBA1282670189371B75E1895ADFC7 /* Info.plist */, - 4479B35E973BC64612AFE56A67C3A7E4 /* PureLayout.modulemap */, - 845F67AAF14F34F0F944FCABA8A1C95F /* PureLayout.xcconfig */, - CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */, - 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */, - 76E4E222A31EB57B3FAE7BD127882279 /* PureLayout-prefix.pch */, - 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/PureLayout"; - sourceTree = ""; - }; 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */ = { isa = PBXGroup; children = ( @@ -561,21 +633,14 @@ path = Classes; sourceTree = ""; }; - A2C47666731599FCB6D3E3CC764B23F3 /* PureLayout */ = { + 9D1F2F50171AF08BB58ABE54836384D0 /* UIActionSheet-Blocks */ = { isa = PBXGroup; children = ( - 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */, - 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */, - 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */, - C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */, - 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */, - 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */, - 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */, - DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */, - 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */, - 8E3BA7AF84CB1FD13CBE41AD45E2F68D /* Support Files */, + 2C0C90B45384C64964081948268EA1CF /* UIActionSheet+Blocks.h */, + BFA0253EFF494DE91B9188C8142F6460 /* UIActionSheet+Blocks.m */, + 3D7E75279251F070480BBDB1BCBFA6BA /* Support Files */, ); - path = PureLayout; + path = "UIActionSheet-Blocks"; sourceTree = ""; }; A342E6BAF3DBF5CC8764C5D2DFC3C713 /* TabBarPicker */ = { @@ -596,7 +661,148 @@ name = "Development Pods"; sourceTree = ""; }; - B2799B31D52CA8B0CAFDDDFD216755A3 /* pop */ = { + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { + isa = PBXGroup; + children = ( + 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + BCF417F30A01D14929B24BCF9E2958DB /* Pods-TabBarPicker_Tests */ = { + isa = PBXGroup; + children = ( + 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */, + DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */, + 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */, + CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */, + B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */, + D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */, + AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */, + 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */, + 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */, + A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */, + ); + name = "Pods-TabBarPicker_Tests"; + path = "Target Support Files/Pods-TabBarPicker_Tests"; + sourceTree = ""; + }; + BFCAA1E6D10843057719E52727089A4E /* Support Files */ = { + isa = PBXGroup; + children = ( + EFFF86131631ED94B1855A8DC9FADBC0 /* Info.plist */, + 0904674A54C7A3F9B5ECCED4CE5462CA /* UIView-Overlay.modulemap */, + 4EA156B9D7B45653F7D72F9AD9677C8D /* UIView-Overlay.xcconfig */, + C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */, + 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */, + 0E839404844309F95E6F89FA7F86A7C4 /* UIView-Overlay-prefix.pch */, + A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/UIView-Overlay"; + sourceTree = ""; + }; + C5E5D49215D38A6AA1E588A6676237A7 /* UIButton+BackgroundColor */ = { + isa = PBXGroup; + children = ( + EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */, + 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */, + 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */, + BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */, + ); + path = "UIButton+BackgroundColor"; + sourceTree = ""; + }; + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { + isa = PBXGroup; + children = ( + 4470612A0D7507992168F3515906A198 /* Pods.framework */, + 9690E74815183E50D72844E517799F05 /* Pods_TabBarPicker_Example.framework */, + 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */, + 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */, + 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */, + 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */, + 91FA5CA09CACBC560BDE8C375A8ECF48 /* UIActionSheet_Blocks.framework */, + 0A711227966BA949140D7F5462CB2606 /* UIAlertViewBlockExtension.framework */, + A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */, + 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */, + ); + name = Products; + sourceTree = ""; + }; + D0E2FF8F9198BEC6A168786BD54C0161 /* UIView-Overlay */ = { + isa = PBXGroup; + children = ( + B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */, + CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */, + BFCAA1E6D10843057719E52727089A4E /* Support Files */, + ); + path = "UIView-Overlay"; + sourceTree = ""; + }; + D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */ = { + isa = PBXGroup; + children = ( + 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */, + ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */, + ); + path = "NSString+HexColor"; + sourceTree = ""; + }; + D7B6B5E3E995D99D66EE07F8A17A1A97 /* Support Files */ = { + isa = PBXGroup; + children = ( + AD91FEA622F6A8F0C0B30214CAA1FC2F /* Info.plist */, + FC7511D42A46743BE371B7B01A6E89F3 /* UIAlertViewBlockExtension.modulemap */, + B3CC14A2C07C0EC7200575FC791BE81F /* UIAlertViewBlockExtension.xcconfig */, + 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */, + 0C4CA99AF612C24DED5E74B745FC1344 /* UIAlertViewBlockExtension-dummy.m */, + 2B28537792C819C671A3C1B784BBD2E1 /* UIAlertViewBlockExtension-prefix.pch */, + 01275C738EEBB0C959DF5D5840BBF280 /* UIAlertViewBlockExtension-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/UIAlertViewBlockExtension"; + sourceTree = ""; + }; + DB7A392AE20A92DE460668D10ACDC19F /* Pods */ = { + isa = PBXGroup; + children = ( + D29115C7B51D59AB9CFBBF927D069DAB /* Info.plist */, + B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */, + A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */, + 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */, + 7F343D98F46F354D1807A1F52E6E36AD /* Pods-dummy.m */, + 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */, + 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */, + 675CC0337FE68D69EEB51AF67E30F8E3 /* Pods-umbrella.h */, + 406E546B7EE79DC9406C0B0D50DCE847 /* Pods.debug.xcconfig */, + 6F38C68DF8E83372339E86F5FA718023 /* Pods.release.xcconfig */, + ); + name = Pods; + path = "Target Support Files/Pods"; + sourceTree = ""; + }; + E69B7D7C8F8FD2E27AA620B8C522ED74 /* Pods */ = { + isa = PBXGroup; + children = ( + 43D2D8F6A1570E65EA8D2FD0D3CDF84C /* PureLayout */, + 9D1F2F50171AF08BB58ABE54836384D0 /* UIActionSheet-Blocks */, + 15F06DD8167DCF868A86BF895F4F1520 /* UIAlertViewBlockExtension */, + D0E2FF8F9198BEC6A168786BD54C0161 /* UIView-Overlay */, + F926170430CF077216CC9DF35338E8A6 /* pop */, + ); + name = Pods; + sourceTree = ""; + }; + F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */ = { + isa = PBXGroup; + children = ( + 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */, + ); + path = Pod; + sourceTree = ""; + }; + F926170430CF077216CC9DF35338E8A6 /* pop */ = { isa = PBXGroup; children = ( E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */, @@ -650,106 +856,44 @@ DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */, C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */, 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */, - 122807F302738AE4899F7D3C75280210 /* Support Files */, + 0ED7E39EFF306913E4C3D8F946D84146 /* Support Files */, ); path = pop; sourceTree = ""; }; - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { + FB76E7FEC2ECF7409F45F54EF6097B77 /* Support Files */ = { isa = PBXGroup; children = ( - 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */, + 46BFF97BA8EC2F3F88ADE5237D31312F /* Info.plist */, + C8B69475707149C2FE67DE55C7262439 /* PureLayout.modulemap */, + D51458B8F46FD6C6746405B499E404C5 /* PureLayout.xcconfig */, + CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */, + 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */, + 2AA71E3B0198B726B6ACF8717C003825 /* PureLayout-prefix.pch */, + 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */, ); - name = Frameworks; - sourceTree = ""; - }; - BCF417F30A01D14929B24BCF9E2958DB /* Pods-TabBarPicker_Tests */ = { - isa = PBXGroup; - children = ( - 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */, - DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */, - 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */, - CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */, - B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */, - D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */, - AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */, - 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */, - 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */, - A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */, - ); - name = "Pods-TabBarPicker_Tests"; - path = "Target Support Files/Pods-TabBarPicker_Tests"; - sourceTree = ""; - }; - C5E5D49215D38A6AA1E588A6676237A7 /* UIButton+BackgroundColor */ = { - isa = PBXGroup; - children = ( - EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */, - 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */, - 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */, - BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */, - ); - path = "UIButton+BackgroundColor"; - sourceTree = ""; - }; - CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { - isa = PBXGroup; - children = ( - A5DFF9EFCD54000B6153CA3F5DE69BC4 /* Pods.framework */, - 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */, - 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */, - 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */, - 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */, - 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */, - A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */, - 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */, - ); - name = Products; - sourceTree = ""; - }; - D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */ = { - isa = PBXGroup; - children = ( - 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */, - ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */, - ); - path = "NSString+HexColor"; - sourceTree = ""; - }; - DB7A392AE20A92DE460668D10ACDC19F /* Pods */ = { - isa = PBXGroup; - children = ( - D29115C7B51D59AB9CFBBF927D069DAB /* Info.plist */, - B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */, - A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */, - 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */, - 9326A1634F9D8759718BF9F5AE1342E8 /* Pods-dummy.m */, - 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */, - 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */, - 12B38B170D3912EDE7922B720C20619D /* Pods-umbrella.h */, - 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */, - 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */, - ); - name = Pods; - path = "Target Support Files/Pods"; - sourceTree = ""; - }; - F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */ = { - isa = PBXGroup; - children = ( - 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */, - ); - path = Pod; + name = "Support Files"; + path = "../Target Support Files/PureLayout"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 7E48A959C6852B35F3EB10C01C5C0188 /* Headers */ = { + 2C28C0C73535E30F239A7DBA44B9ACC2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 11C5B9474617E9D2DB312798E38A2DC9 /* Pods-umbrella.h in Headers */, + CD4768AAB960B0210D029E470E5D4640 /* Pods-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 681AFEB133F48BA93DA624F1391E3255 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 761477C8633300B1495BAA4EBF93527A /* AlertViewActionDispatcher.h in Headers */, + 1904012DCB9E2E0F904199387E995946 /* UIAlertView+BlockExtension.h in Headers */, + E51881B12C8967AC6332B313DA6FBF5F /* UIAlertViewBlockExtension-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -794,11 +938,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C00D79ECDAC73A0C38552A990C82F56F /* Headers */ = { + C8CDB2F71BF69BF321BBA4B599031218 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4EBD0FC5A72489379615C5E2E3A9C03D /* Pods-TabBarPicker_Example-umbrella.h in Headers */, + 64936125353B370402AC7A2390B2319B /* Pods-TabBarPicker_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -819,6 +963,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D23B652DCFF352C90CB48E8F226C8C75 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 50E1538F1556D387C5164A072FC23570 /* UIActionSheet+Blocks.h in Headers */, + 6821181ABC8D74220E7B8667CA488482 /* UIActionSheet-Blocks-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D6A8EB0B19838A8E6F05524B3A33BF15 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -853,27 +1006,6 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 02B85A901C978E0651A76D08AD317C82 /* Pods-TabBarPicker_Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2B10C739C4CC85FE1BE4140241D8548B /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */; - buildPhases = ( - C174BA4E26F85DF204DC43D6E023477E /* Sources */, - AC9EEAC58C6D20FD5C0254472F5D6ABD /* Frameworks */, - C00D79ECDAC73A0C38552A990C82F56F /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 1E6DB4ADD8E4F56131BF9CAB4F13D6BF /* PBXTargetDependency */, - 53E7F8729FC986EE540050643AD0E415 /* PBXTargetDependency */, - E124F360BE28DC21A6F1DD0F2AF89D2F /* PBXTargetDependency */, - 2D2FEF8E39272D422784ABBE1FFEDF86 /* PBXTargetDependency */, - ); - name = "Pods-TabBarPicker_Example"; - productName = "Pods-TabBarPicker_Example"; - productReference = 5E359F9185BEAD84D8CE15A4D0B4B472 /* Pods_TabBarPicker_Example.framework */; - productType = "com.apple.product-type.framework"; - }; 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */ = { isa = PBXNativeTarget; buildConfigurationList = EA9B566CC07BD9C0890426A19B907D94 /* Build configuration list for PBXNativeTarget "TabBarPicker" */; @@ -886,7 +1018,7 @@ buildRules = ( ); dependencies = ( - 4ACBE616CF3D2242EFDF2DF55B55BF5C /* PBXTargetDependency */, + C3345A82F0B69FB504B9BE68810BCDFA /* PBXTargetDependency */, ); name = TabBarPicker; productName = TabBarPicker; @@ -921,7 +1053,7 @@ buildRules = ( ); dependencies = ( - 4C87918BA58D1D2EC71689576920C36D /* PBXTargetDependency */, + 7CCFCA3730A3048294DF40C61BF63C0D /* PBXTargetDependency */, ); name = "Pods-TabBarPicker_Tests"; productName = "Pods-TabBarPicker_Tests"; @@ -945,6 +1077,27 @@ productReference = 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */; productType = "com.apple.product-type.framework"; }; + 4A6BFDA160089EECBB532DEF25DFFD46 /* Pods */ = { + isa = PBXNativeTarget; + buildConfigurationList = 175C1671DE8DF78A2BB701210E1279E8 /* Build configuration list for PBXNativeTarget "Pods" */; + buildPhases = ( + 96B6098F0DAB31B2F5FD2ED16EE2EF21 /* Sources */, + A91B8D6425530AC502B83B5E40CDE8BE /* Frameworks */, + 2C28C0C73535E30F239A7DBA44B9ACC2 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + A6DD22ABB2393DAD641B588D1A9D87E7 /* PBXTargetDependency */, + 83B8BBBFDFFA75C48A6E596CAFB262D4 /* PBXTargetDependency */, + 1BD795CEBD560087FCB23185F96F9EC9 /* PBXTargetDependency */, + F60977E207F8E11EC03DA8CBE382B3FD /* PBXTargetDependency */, + ); + name = Pods; + productName = Pods; + productReference = 4470612A0D7507992168F3515906A198 /* Pods.framework */; + productType = "com.apple.product-type.framework"; + }; 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */ = { isa = PBXNativeTarget; buildConfigurationList = 29946541803109559D5B69F86E5F2398 /* Build configuration list for PBXNativeTarget "PureLayout" */; @@ -979,23 +1132,61 @@ productReference = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; productType = "com.apple.product-type.bundle"; }; - FFB59F3179C8BDA9D0F4229CBA2D227B /* Pods */ = { + B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */ = { isa = PBXNativeTarget; - buildConfigurationList = B406DCC2604A6093F81FC863CD22CF3F /* Build configuration list for PBXNativeTarget "Pods" */; + buildConfigurationList = BD3F55213383B9BEE2D792B92C8444F3 /* Build configuration list for PBXNativeTarget "UIActionSheet-Blocks" */; buildPhases = ( - 58AF9A0D8F1459FE0E44084A67CBCB78 /* Sources */, - E73B0FCD0C69CDDDB4AE456D3E12BD2B /* Frameworks */, - 7E48A959C6852B35F3EB10C01C5C0188 /* Headers */, + D006587E6C0DA708CEC302059C451959 /* Sources */, + FE4BBC387732232A2FD5DB5386A8BEAE /* Frameworks */, + D23B652DCFF352C90CB48E8F226C8C75 /* Headers */, ); buildRules = ( ); dependencies = ( - 94F9B9912FD5C449AF656F780E2958DD /* PBXTargetDependency */, - 78739E10EACFB20BE6EF8078A3D971B6 /* PBXTargetDependency */, ); - name = Pods; - productName = Pods; - productReference = A5DFF9EFCD54000B6153CA3F5DE69BC4 /* Pods.framework */; + name = "UIActionSheet-Blocks"; + productName = "UIActionSheet-Blocks"; + productReference = 91FA5CA09CACBC560BDE8C375A8ECF48 /* UIActionSheet_Blocks.framework */; + productType = "com.apple.product-type.framework"; + }; + C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = 60057E35165E3A3DD5D4B7A745F8780E /* Build configuration list for PBXNativeTarget "UIAlertViewBlockExtension" */; + buildPhases = ( + 994089B93207B88DE067D1C8D98E0035 /* Sources */, + 8520A48E45E6B6DC9EC9C8F684889FCE /* Frameworks */, + 681AFEB133F48BA93DA624F1391E3255 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = UIAlertViewBlockExtension; + productName = UIAlertViewBlockExtension; + productReference = 0A711227966BA949140D7F5462CB2606 /* UIAlertViewBlockExtension.framework */; + productType = "com.apple.product-type.framework"; + }; + D3633C837B833BC0E5216A998BCA1A83 /* Pods-TabBarPicker_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D9AF43A7C3FCCA54B4626FE257768E9 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */; + buildPhases = ( + 435EADCFFDF6D06D2E076052B1A86634 /* Sources */, + 49A0A96D50E26826AF840B79E450008C /* Frameworks */, + C8CDB2F71BF69BF321BBA4B599031218 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 1B1776404F4F6D17A344E94C2598E9C8 /* PBXTargetDependency */, + 8C881F00330A91E3FB6D0D432752061C /* PBXTargetDependency */, + 59AD200419C8E26272159EF58D8358A3 /* PBXTargetDependency */, + 830ACCC3BA12B1428631B8CB054B40A0 /* PBXTargetDependency */, + 7D1B6C595AD4DBA341CB1D70D7E4C53C /* PBXTargetDependency */, + 49F431A4869DECEA381AEE266DB79DFF /* PBXTargetDependency */, + ); + name = "Pods-TabBarPicker_Example"; + productName = "Pods-TabBarPicker_Example"; + productReference = 9690E74815183E50D72844E517799F05 /* Pods_TabBarPicker_Example.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -1019,12 +1210,14 @@ projectDirPath = ""; projectRoot = ""; targets = ( - FFB59F3179C8BDA9D0F4229CBA2D227B /* Pods */, - 02B85A901C978E0651A76D08AD317C82 /* Pods-TabBarPicker_Example */, + 4A6BFDA160089EECBB532DEF25DFFD46 /* Pods */, + D3633C837B833BC0E5216A998BCA1A83 /* Pods-TabBarPicker_Example */, 32560F18B1ECECAEDFCE9D7F91247BDF /* Pods-TabBarPicker_Tests */, 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */, 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */, A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */, + B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */, + C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */, 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */, 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */, ); @@ -1093,6 +1286,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 435EADCFFDF6D06D2E076052B1A86634 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B86832123B4DFE5CE180B18C4CAF0C8E /* Pods-TabBarPicker_Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4DBEC0C05151203AA53BFE2A2B3389D4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1100,19 +1301,21 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 58AF9A0D8F1459FE0E44084A67CBCB78 /* Sources */ = { + 96B6098F0DAB31B2F5FD2ED16EE2EF21 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3329AF43344F94C2DD9A49EB23068CE8 /* Pods-dummy.m in Sources */, + 8307CAD078138F1D1381C26992A80FE5 /* Pods-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C174BA4E26F85DF204DC43D6E023477E /* Sources */ = { + 994089B93207B88DE067D1C8D98E0035 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6E03012F2843C461762C74A9A046EF2E /* Pods-TabBarPicker_Example-dummy.m in Sources */, + 7722493DFDD6EC5317378CCA6C5F6C5B /* AlertViewActionDispatcher.m in Sources */, + 916A29561C3E959D2829BCE7E31BC5DE /* UIAlertView+BlockExtension.m in Sources */, + 09D38304BB76CB9194061FF21B54687F /* UIAlertViewBlockExtension-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1133,6 +1336,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D006587E6C0DA708CEC302059C451959 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5399D919350C1DA1537C5307762FC7D4 /* UIActionSheet+Blocks.m in Sources */, + 2773E86D775C65479A4FC871ECCF322B /* UIActionSheet-Blocks-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F81A6CC9F7C1459BB6E1B159EB93EB03 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1147,57 +1359,110 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 1E6DB4ADD8E4F56131BF9CAB4F13D6BF /* PBXTargetDependency */ = { + 1B1776404F4F6D17A344E94C2598E9C8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PureLayout; target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; - targetProxy = F1E65B36CE83A735C24042E5B005DB98 /* PBXContainerItemProxy */; + targetProxy = BFD6B69F1954471793C25AA47BF47984 /* PBXContainerItemProxy */; }; - 2D2FEF8E39272D422784ABBE1FFEDF86 /* PBXTargetDependency */ = { + 1BD795CEBD560087FCB23185F96F9EC9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = UIAlertViewBlockExtension; + target = C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */; + targetProxy = C20F0D51880A805056D8DD360E87BB89 /* PBXContainerItemProxy */; + }; + 49F431A4869DECEA381AEE266DB79DFF /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = pop; target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; - targetProxy = 6DC4045376991B2F4FE77D1CFF871503 /* PBXContainerItemProxy */; + targetProxy = 5B21EDF65D581DDBCE165947B38A8EC8 /* PBXContainerItemProxy */; }; - 4ACBE616CF3D2242EFDF2DF55B55BF5C /* PBXTargetDependency */ = { + 59AD200419C8E26272159EF58D8358A3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "TabBarPicker-TabBarPicker"; - target = A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */; - targetProxy = 718DAA8C463F278C51EFAE2FE4DBB153 /* PBXContainerItemProxy */; + name = "UIActionSheet-Blocks"; + target = B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */; + targetProxy = ACBE1C00D7835522A99B7823A65EE366 /* PBXContainerItemProxy */; }; - 4C87918BA58D1D2EC71689576920C36D /* PBXTargetDependency */ = { + 7CCFCA3730A3048294DF40C61BF63C0D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = TabBarPicker; target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; - targetProxy = 2422694340FEE734A32BAEADDC2EDAA1 /* PBXContainerItemProxy */; + targetProxy = C0EC88B859F3AC62E2FF2F63C5EED979 /* PBXContainerItemProxy */; }; - 53E7F8729FC986EE540050643AD0E415 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = TabBarPicker; - target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; - targetProxy = 9EB5C63E5A8712567D26F5DDF85E9408 /* PBXContainerItemProxy */; - }; - 78739E10EACFB20BE6EF8078A3D971B6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = pop; - target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; - targetProxy = 4F92234C46EF40937512047DE1C68200 /* PBXContainerItemProxy */; - }; - 94F9B9912FD5C449AF656F780E2958DD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PureLayout; - target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; - targetProxy = 54E7978A31596E0942D9395655EB6B6B /* PBXContainerItemProxy */; - }; - E124F360BE28DC21A6F1DD0F2AF89D2F /* PBXTargetDependency */ = { + 7D1B6C595AD4DBA341CB1D70D7E4C53C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "UIView-Overlay"; target = 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */; - targetProxy = 083B093D10F9DF2FDAD39AE5222A2FB2 /* PBXContainerItemProxy */; + targetProxy = B47859329A14B07C93E9F50FD5839803 /* PBXContainerItemProxy */; + }; + 830ACCC3BA12B1428631B8CB054B40A0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = UIAlertViewBlockExtension; + target = C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */; + targetProxy = 1156D619B3818E297D0D12E9548FE9C6 /* PBXContainerItemProxy */; + }; + 83B8BBBFDFFA75C48A6E596CAFB262D4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIActionSheet-Blocks"; + target = B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */; + targetProxy = CE7788D9F3896FA98A2BFE332E9A531E /* PBXContainerItemProxy */; + }; + 8C881F00330A91E3FB6D0D432752061C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TabBarPicker; + target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; + targetProxy = 9904DE571308F6DB1539A36EDE7EF689 /* PBXContainerItemProxy */; + }; + A6DD22ABB2393DAD641B588D1A9D87E7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PureLayout; + target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; + targetProxy = 4A6726B6AB132BED7AA77B26F94A3AFB /* PBXContainerItemProxy */; + }; + C3345A82F0B69FB504B9BE68810BCDFA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "TabBarPicker-TabBarPicker"; + target = A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */; + targetProxy = BE0EA4BEE4746C80AA92E99613AC8AC2 /* PBXContainerItemProxy */; + }; + F60977E207F8E11EC03DA8CBE382B3FD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = pop; + target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; + targetProxy = 39BEC4C359890CC3BD92704DA1A15F77 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 12A8CF0DE46BF15B3D68E949F01AB750 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6F38C68DF8E83372339E86F5FA718023 /* Pods.release.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + INFOPLIST_FILE = "Target Support Files/Pods/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Pods/Pods.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 13E6E78F0B8C8788746F00FCD7A371A3 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; @@ -1225,27 +1490,52 @@ }; name = Release; }; - 2066CCDBDB87AD21E4D2D89AC51217E8 /* Release */ = { + 1C9FA543C94D156F43CEE8F23385C863 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C02A77BF4130FE56E0F02566F747AD2 /* Pods.release.xcconfig */; + baseConfigurationReference = 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 1.0.1; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIAlertViewBlockExtension/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods/Pods.modulemap"; + MODULEMAP_FILE = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = UIAlertViewBlockExtension; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 24DECBB0590DD2AF1FCD1DD191E5B915 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1.0.1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIAlertViewBlockExtension/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods; + PRODUCT_NAME = UIAlertViewBlockExtension; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1322,38 +1612,36 @@ }; name = Release; }; - 53716082E729E9D4B839C6220614FB54 /* Release */ = { + 53E1187E7E2FC0CE81B4FEAA9D4DD937 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B79E8F04B0085DB7B07E18E9E4BF7165 /* Pods-TabBarPicker_Example.release.xcconfig */; + baseConfigurationReference = DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 1.0.1; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIActionSheet-Blocks/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Example; + MODULEMAP_FILE = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = UIActionSheet_Blocks; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 6664CA7E751349755DD09C170467FE20 /* Debug */ = { + 5767727F4F38CBE1C9DD9C4FF2BD9A22 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86E5E9B8FECE12A7A4E167D580EFC67B /* Pods.debug.xcconfig */; + baseConfigurationReference = 406E546B7EE79DC9406C0B0D50DCE847 /* Pods.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1461,6 +1749,33 @@ }; name = Release; }; + A3EA8BA3EEF5D8383449AD2308D07B46 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1.0.1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIActionSheet-Blocks/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = UIActionSheet_Blocks; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1529,6 +1844,35 @@ }; name = Release; }; + B1D559EFFEBE652B8570A7A9349AA9F7 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 333488D10B952CEE843D891B0FD86586 /* Pods-TabBarPicker_Example.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Example; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; DB5C373F43D2E2027D3302E3EB9783D7 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */; @@ -1622,9 +1966,9 @@ }; name = Debug; }; - F23676D4918F605972662730CEDD3AC6 /* Debug */ = { + ECF1A9B9D8C70242FB9C205AA8093EB1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 74C01BE8B9F51803976D94221A90D9B0 /* Pods-TabBarPicker_Example.debug.xcconfig */; + baseConfigurationReference = 443DBE5EFC78E4DA3BA8009969AB82D3 /* Pods-TabBarPicker_Example.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1638,7 +1982,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1649,7 +1993,7 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; FB45FFD90572718D82AB9092B750F0CA /* Release */ = { isa = XCBuildConfiguration; @@ -1688,6 +2032,24 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 175C1671DE8DF78A2BB701210E1279E8 /* Build configuration list for PBXNativeTarget "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5767727F4F38CBE1C9DD9C4FF2BD9A22 /* Debug */, + 12A8CF0DE46BF15B3D68E949F01AB750 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1D9AF43A7C3FCCA54B4626FE257768E9 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B1D559EFFEBE652B8570A7A9349AA9F7 /* Debug */, + ECF1A9B9D8C70242FB9C205AA8093EB1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 24BE35686B3092A5E39AB603AB9548D8 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1706,15 +2068,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2B10C739C4CC85FE1BE4140241D8548B /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F23676D4918F605972662730CEDD3AC6 /* Debug */, - 53716082E729E9D4B839C6220614FB54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1742,6 +2095,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 60057E35165E3A3DD5D4B7A745F8780E /* Build configuration list for PBXNativeTarget "UIAlertViewBlockExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1C9FA543C94D156F43CEE8F23385C863 /* Debug */, + 24DECBB0590DD2AF1FCD1DD191E5B915 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 630E7CF328E5A22E649CE1101654AE09 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1751,11 +2113,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B406DCC2604A6093F81FC863CD22CF3F /* Build configuration list for PBXNativeTarget "Pods" */ = { + BD3F55213383B9BEE2D792B92C8444F3 /* Build configuration list for PBXNativeTarget "UIActionSheet-Blocks" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6664CA7E751349755DD09C170467FE20 /* Debug */, - 2066CCDBDB87AD21E4D2D89AC51217E8 /* Release */, + 53E1187E7E2FC0CE81B4FEAA9D4DD937 /* Debug */, + A3EA8BA3EEF5D8383449AD2308D07B46 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme index d5d9234..8654053 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TabBarPicker.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown index df247af..0e8bd58 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.markdown @@ -14,6 +14,42 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## UIActionSheet-Blocks + +Copyright (C) 2013 Developed by Shai Mishali + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## UIAlertViewBlockExtension + +The MIT License (MIT) + +Copyright (c) 2015 mangofever + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ## pop BSD License diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist index 1644936..0a61ca8 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-acknowledgements.plist @@ -29,6 +29,50 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier + + FooterText + Copyright (C) 2013 Developed by Shai Mishali + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Title + UIActionSheet-Blocks + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 mangofever + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + Title + UIAlertViewBlockExtension + Type + PSGroupSpecifier + FooterText BSD License diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh index 48d6339..e23d176 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example-frameworks.sh @@ -53,12 +53,16 @@ code_sign_if_enabled() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework 'Pods-TabBarPicker_Example/PureLayout.framework' + install_framework 'Pods-TabBarPicker_Example/UIActionSheet_Blocks.framework' + install_framework 'Pods-TabBarPicker_Example/UIAlertViewBlockExtension.framework' install_framework 'Pods-TabBarPicker_Example/pop.framework' install_framework 'Pods-TabBarPicker_Example/TabBarPicker.framework' install_framework 'Pods-TabBarPicker_Example/UIView_Overlay.framework' fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework 'Pods-TabBarPicker_Example/PureLayout.framework' + install_framework 'Pods-TabBarPicker_Example/UIActionSheet_Blocks.framework' + install_framework 'Pods-TabBarPicker_Example/UIAlertViewBlockExtension.framework' install_framework 'Pods-TabBarPicker_Example/pop.framework' install_framework 'Pods-TabBarPicker_Example/TabBarPicker.framework' install_framework 'Pods-TabBarPicker_Example/UIView_Overlay.framework' diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig index 7736e1a..665b4b9 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.debug.xcconfig @@ -2,7 +2,7 @@ CLANG_CXX_LANGUAGE_STANDARD = c++11 CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIView_Overlay" -framework "pop" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIActionSheet_Blocks" -framework "UIAlertViewBlockExtension" -framework "UIView_Overlay" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig index 7736e1a..665b4b9 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.release.xcconfig @@ -2,7 +2,7 @@ CLANG_CXX_LANGUAGE_STANDARD = c++11 CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIView_Overlay" -framework "pop" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIActionSheet_Blocks" -framework "UIAlertViewBlockExtension" -framework "UIView_Overlay" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Example PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown index b95a57f..1163b87 100644 --- a/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown @@ -14,6 +14,42 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## UIActionSheet-Blocks + +Copyright (C) 2013 Developed by Shai Mishali + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## UIAlertViewBlockExtension + +The MIT License (MIT) + +Copyright (c) 2015 mangofever + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ## pop BSD License diff --git a/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist index 5dd3eb6..d57a803 100644 --- a/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods/Pods-acknowledgements.plist @@ -29,6 +29,50 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Type PSGroupSpecifier + + FooterText + Copyright (C) 2013 Developed by Shai Mishali + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Title + UIActionSheet-Blocks + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 mangofever + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + Title + UIAlertViewBlockExtension + Type + PSGroupSpecifier + FooterText BSD License diff --git a/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh b/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh index c42beb9..53aa564 100755 --- a/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh @@ -53,9 +53,13 @@ code_sign_if_enabled() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework 'Pods/PureLayout.framework' + install_framework 'Pods/UIActionSheet_Blocks.framework' + install_framework 'Pods/UIAlertViewBlockExtension.framework' install_framework 'Pods/pop.framework' fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework 'Pods/PureLayout.framework' + install_framework 'Pods/UIActionSheet_Blocks.framework' + install_framework 'Pods/UIAlertViewBlockExtension.framework' install_framework 'Pods/pop.framework' fi diff --git a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig index d9724d9..232bc92 100644 --- a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -2,7 +2,7 @@ CLANG_CXX_LANGUAGE_STANDARD = c++11 CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "pop" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "UIActionSheet_Blocks" -framework "UIAlertViewBlockExtension" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig index d9724d9..232bc92 100644 --- a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -2,7 +2,7 @@ CLANG_CXX_LANGUAGE_STANDARD = c++11 CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "pop" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "UIActionSheet_Blocks" -framework "UIAlertViewBlockExtension" -framework "pop" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/Info.plist b/Example/Pods/Target Support Files/UIActionSheet-Blocks/Info.plist new file mode 100644 index 0000000..513ed9d --- /dev/null +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig new file mode 100644 index 0000000..4b41d9d --- /dev/null +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig @@ -0,0 +1,5 @@ +#include "UIActionSheet-Blocks.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIActionSheet-Blocks" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-dummy.m b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-dummy.m new file mode 100644 index 0000000..38446fe --- /dev/null +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_UIActionSheet_Blocks : NSObject +@end +@implementation PodsDummy_UIActionSheet_Blocks +@end diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch new file mode 100644 index 0000000..aa992a4 --- /dev/null +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ +#import +#endif + diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-umbrella.h b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-umbrella.h new file mode 100644 index 0000000..3982808 --- /dev/null +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-umbrella.h @@ -0,0 +1,7 @@ +#import + +#import "UIActionSheet+Blocks.h" + +FOUNDATION_EXPORT double UIActionSheet_BlocksVersionNumber; +FOUNDATION_EXPORT const unsigned char UIActionSheet_BlocksVersionString[]; + diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap new file mode 100644 index 0000000..db7526c --- /dev/null +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap @@ -0,0 +1,6 @@ +framework module UIActionSheet_Blocks { + umbrella header "UIActionSheet-Blocks-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig new file mode 100644 index 0000000..e69de29 diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/Info.plist b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/Info.plist new file mode 100644 index 0000000..513ed9d --- /dev/null +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig new file mode 100644 index 0000000..a4929b0 --- /dev/null +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig @@ -0,0 +1,5 @@ +#include "UIAlertViewBlockExtension.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIAlertViewBlockExtension" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-dummy.m b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-dummy.m new file mode 100644 index 0000000..21400a6 --- /dev/null +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_UIAlertViewBlockExtension : NSObject +@end +@implementation PodsDummy_UIAlertViewBlockExtension +@end diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch new file mode 100644 index 0000000..aa992a4 --- /dev/null +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ +#import +#endif + diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-umbrella.h b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-umbrella.h new file mode 100644 index 0000000..e868b9a --- /dev/null +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-umbrella.h @@ -0,0 +1,8 @@ +#import + +#import "AlertViewActionDispatcher.h" +#import "UIAlertView+BlockExtension.h" + +FOUNDATION_EXPORT double UIAlertViewBlockExtensionVersionNumber; +FOUNDATION_EXPORT const unsigned char UIAlertViewBlockExtensionVersionString[]; + diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap new file mode 100644 index 0000000..0a59eda --- /dev/null +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap @@ -0,0 +1,6 @@ +framework module UIAlertViewBlockExtension { + umbrella header "UIAlertViewBlockExtension-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig new file mode 100644 index 0000000..e69de29 diff --git a/Example/Pods/UIActionSheet-Blocks/LICENSE b/Example/Pods/UIActionSheet-Blocks/LICENSE new file mode 100644 index 0000000..cd567d1 --- /dev/null +++ b/Example/Pods/UIActionSheet-Blocks/LICENSE @@ -0,0 +1,7 @@ +Copyright (C) 2013 Developed by Shai Mishali + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Example/Pods/UIActionSheet-Blocks/README.md b/Example/Pods/UIActionSheet-Blocks/README.md new file mode 100644 index 0000000..8123058 --- /dev/null +++ b/Example/Pods/UIActionSheet-Blocks/README.md @@ -0,0 +1,72 @@ +UIActionSheet-Blocks +================ + +UIActionSheet+Blocks is a simple Block implementation for UIActionSheet created by Shai Mishali. +This allows you to use the power of blocks instead of implementing a delegate. + +USAGE +------ + +Instead of allocating a new UIActionSheet and assigning a delegate, just call one of the static methods: + +```objc +UIActionSheet *sheet = [UIActionSheet presentOnView:self.view + withTitle:@"Select Picture" + otherButtons:@[@"Camera Roll", @"Take a Picture"] + onCancel:^(UIActionSheet *actionSheet) { + NSLog(@"Touched cancel button"); + } + onClickedButton:^(UIActionSheet *actionSheet, NSUInteger index) { + NSLog(@"Selected button at index %d", index); + }]; +``` + +![Simple UIActionSHeet](http://i40.tinypic.com/29ge8m9.png) + +**OR** + +```objc + +UIActionSheet *sheet = [UIActionSheet presentOnView:self.view + withTitle:@"John - 555-1212" + cancelButton:@"Dismiss" + destructiveButton:@"Delete Contact" + otherButtons:@[@"Call Contact",@"Message Contact"] + onCancel:^(UIActionSheet *actionSheet) { + NSLog(@"Touched cancel button"); + } + onDestructive:^(UIActionSheet *actionSheet) { + NSLog(@"Touched destructive button"); + } + onClickedButton:^(UIActionSheet *actionSheet, NSUInteger index) { + NSLog(@"Selected button at index %d", index); + }]; +``` + +![Full UIActionSheet](http://i39.tinypic.com/73j6dw.png) + + +The class will return the UIActionSheet object which you can manally dismiss if needed. + +LICENSE +------------------- + +Copyright (C) 2013 Developed by Shai Mishali + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.h b/Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.h new file mode 100644 index 0000000..3bb78ed --- /dev/null +++ b/Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.h @@ -0,0 +1,57 @@ +// +// UIActionSheet+Blocks.h +// +// Created by Shai Mishali on 9/26/13. +// Copyright (c) 2013 Shai Mishali. All rights reserved. +// + +#import + +/** + UIActionSheet+Blocks is a simple Block implementation for UIActionSheet created by Shai Mishali. + */ + +@interface UIActionSheet (Blocks) + +/** + Present a UIActionSheet on a specific view + + Note: On this shorthand version the cancel button always displayed "Cancel" as the text. If you require a custom cancel text, use the longer method below. + + @param view The view on which the UIActionSheet will be displayed + @param title The title of the UIActionSheet + @param otherStrings An array containing strings of other buttons + @param onCancel Cancel block - Called when the user pressed the cancel button, or the UIActionSheet has been manually dismissed + @param onClickedButton Clicked button at index block - Called when the user presses any button other then Cancel + + @return The generated UIActionSheet + */ ++(UIActionSheet *)presentOnView: (UIView *)view + withTitle: (NSString *)title + otherButtons: (NSArray *)otherStrings + onCancel: (void (^)(UIActionSheet *))cancelBlock + onClickedButton: (void (^)(UIActionSheet *, NSUInteger))clickBlock; + +/** + Present a UIActionSheet on a specific view + + @param view The view on which the UIActionSheet will be displayed + @param title The title of the UIActionSheet + @param cancelString The string shown on the Cancel button + @param destructiveString The string shown on the Destructive button + @param otherStrings An array containing strings of other buttons + @param onCancel Cancel block - Called when the user pressed the cancel button, or the UIActionSheet has been manually dismissed + @param onDestructive Destructive block - Called when the user presses the destructive button + @param onClickedButton Clicked button at index block - Called when the user presses any button other then Cancel/Destructive + + @return The generated UIActionSheet + */ ++(UIActionSheet *)presentOnView: (UIView *)view + withTitle: (NSString *)title + cancelButton: (NSString *)cancelString + destructiveButton: (NSString *)destructiveString + otherButtons: (NSArray *)otherStrings + onCancel: (void (^)(UIActionSheet *))cancelBlock + onDestructive: (void (^)(UIActionSheet *))destroyBlock + onClickedButton: (void (^)(UIActionSheet *, NSUInteger))clickBlock; +@end diff --git a/Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.m b/Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.m new file mode 100644 index 0000000..2c34bd7 --- /dev/null +++ b/Example/Pods/UIActionSheet-Blocks/UIActionSheet+Blocks.m @@ -0,0 +1,77 @@ +// +// UIActionSheet+Blocks.m +// +// Created by Shai Mishali on 9/26/13. +// Copyright (c) 2013 Shai Mishali. All rights reserved. +// + +#import "UIActionSheet+Blocks.h" + +static void (^__clickedBlock)(UIActionSheet *sheet, NSUInteger index); +static void (^__cancelBlock)(UIActionSheet *sheet); +static void (^__destroyBlock)(UIActionSheet *sheet); + +@implementation UIActionSheet (Blocks) + ++(UIActionSheet *)presentOnView:(UIView *)view + withTitle:(NSString *)title + otherButtons:(NSArray *)otherStrings + onCancel:(void (^)(UIActionSheet *))cancelBlock + onClickedButton:(void (^)(UIActionSheet *, NSUInteger))clickBlock{ + + return [self presentOnView:view + withTitle:title + cancelButton:NSLocalizedString(@"Cancel", @"") + destructiveButton:nil + otherButtons:otherStrings + onCancel:cancelBlock + onDestructive:nil + onClickedButton:clickBlock]; +} + ++(UIActionSheet *)presentOnView: (UIView *)view + withTitle: (NSString *)title + cancelButton: (NSString *)cancelString + destructiveButton: (NSString *)destructiveString + otherButtons: (NSArray *)otherStrings + onCancel: (void (^)(UIActionSheet *))cancelBlock + onDestructive: (void (^)(UIActionSheet *))destroyBlock + onClickedButton: (void (^)(UIActionSheet *, NSUInteger))clickBlock{ + __cancelBlock = cancelBlock; + __clickedBlock = clickBlock; + __destroyBlock = destroyBlock; + + UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:title + delegate:(id) [self class] + cancelButtonTitle:nil + destructiveButtonTitle:destructiveString + otherButtonTitles:nil]; + + for(NSString *other in otherStrings) + [sheet addButtonWithTitle: other]; + + if (cancelString) { + [sheet setCancelButtonIndex:[sheet addButtonWithTitle:cancelString]]; + } + + [sheet showInView: view]; + + return sheet; +} + +#pragma mark - Private Static delegate ++(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ + if([actionSheet destructiveButtonIndex] == buttonIndex && __destroyBlock) + __destroyBlock(actionSheet); + else if([actionSheet cancelButtonIndex] == buttonIndex && __cancelBlock) + __cancelBlock(actionSheet); + else if(__clickedBlock) + __clickedBlock(actionSheet, buttonIndex); +} + ++(void)actionSheetCancel:(UIActionSheet *)actionSheet{ + if(__cancelBlock) + __cancelBlock(actionSheet); +} + +@end \ No newline at end of file diff --git a/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h new file mode 100644 index 0000000..b1a476e --- /dev/null +++ b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h @@ -0,0 +1,21 @@ +// +// AlertViewActionDispatcher.h +// AlertViewExamples +// +// Created by Mango on 2015. 3. 18.. +// Copyright (c) 2015년 Mangofever. All rights reserved. +// + +#import +#import + +#define ActionByCancel -1 + +typedef void (^UIAlertActionBlock) (UIAlertView *alertView, NSInteger buttonIndex); + +@interface AlertViewActionDispatcher : NSObject + +- (void)addActionBlock:(UIAlertActionBlock)actionBlock withButtonIndex:(NSInteger)buttonIndex; +- (void)addCancelActionBlock:(UIAlertActionBlock)actionBlock; + +@end diff --git a/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m new file mode 100644 index 0000000..48cc073 --- /dev/null +++ b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m @@ -0,0 +1,59 @@ +// +// AlertViewActionDispatcher.m +// AlertViewExamples +// +// Created by Mango on 2015. 3. 18.. +// Copyright (c) 2015년 Mangofever. All rights reserved. +// + +#import "AlertViewActionDispatcher.h" + +@interface AlertViewActionDispatcher () + +@property (nonatomic, strong) NSMutableDictionary *actionBlockDictionary; + +@end + +@implementation AlertViewActionDispatcher + +- (id)init { + self = [super init]; + if (self) { + self.actionBlockDictionary = [NSMutableDictionary dictionary]; + } + return self; +} + +- (void)addActionBlock:(UIAlertActionBlock)actionBlock withButtonIndex:(NSInteger)buttonIndex { + if (actionBlock) { + [self.actionBlockDictionary setObject:actionBlock forKey:@(buttonIndex)]; + } +} + +- (void)addCancelActionBlock:(UIAlertActionBlock)actionBlock { + if (actionBlock) { + [self.actionBlockDictionary setObject:actionBlock forKey:@(ActionByCancel)]; + } +} + +- (BOOL)excuteActionBlockForAlertView:(UIAlertView *)alertView buttonIndex:(NSInteger)buttonIndex { + UIAlertActionBlock actionBlock = [self.actionBlockDictionary objectForKey:@(buttonIndex)]; + if (actionBlock) { + actionBlock(alertView, buttonIndex); + return YES; + } + return NO; +} + +#pragma mark - UIAlertViewDelegate +- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { + [self excuteActionBlockForAlertView:alertView buttonIndex:buttonIndex]; +} + +- (void)alertViewCancel:(UIAlertView *)alertView { + if ([self excuteActionBlockForAlertView:alertView buttonIndex:ActionByCancel] == NO) { + [self excuteActionBlockForAlertView:alertView buttonIndex:alertView.cancelButtonIndex]; + } +} + +@end diff --git a/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h new file mode 100644 index 0000000..f68a66b --- /dev/null +++ b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h @@ -0,0 +1,22 @@ +// +// UIAlertView+BlockExtension.h +// AlertViewExamples +// +// Created by Mango on 2015. 3. 18.. +// Copyright (c) 2015년 Mangofever. All rights reserved. +// + +#import +#import "AlertViewActionDispatcher.h" + +@interface UIAlertView (BlockExtension) + +@property (strong, nonatomic) AlertViewActionDispatcher *actionDispatcher; + ++ (UIAlertView *)alertViewWithTitle:(NSString *)title message:(NSString *)message; + +- (void)addButtonWithTitle:(NSString *)title actionBlock:(UIAlertActionBlock)actionBlock; +- (void)addCancelButtonWithTitle:(NSString *)title actionBlock:(UIAlertActionBlock)actionBlock; +- (void)addCancelActionBlock:(UIAlertActionBlock)actionBlock; + +@end diff --git a/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m new file mode 100644 index 0000000..3f5698e --- /dev/null +++ b/Example/Pods/UIAlertViewBlockExtension/AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m @@ -0,0 +1,50 @@ +// +// UIAlertView+BlockExtension.m +// AlertViewExamples +// +// Created by Mango on 2015. 3. 18.. +// Copyright (c) 2015년 Mangofever. All rights reserved. +// + +#import "UIAlertView+BlockExtension.h" +#import + +@implementation UIAlertView (BlockExtension) + +@dynamic actionDispatcher; + ++ (UIAlertView *)alertViewWithTitle:(NSString *)title message:(NSString *)message { + + UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:message delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]; + alertView.actionDispatcher = [[AlertViewActionDispatcher alloc] init]; + + return alertView; +} + +- (void)addButtonWithTitle:(NSString *)title actionBlock:(UIAlertActionBlock)actionBlock { + NSInteger buttonIndex = [self addButtonWithTitle:title]; + [self.actionDispatcher addActionBlock:actionBlock withButtonIndex:buttonIndex]; +} + +- (void)addCancelButtonWithTitle:(NSString *)title actionBlock:(UIAlertActionBlock)actionBlock { + NSInteger buttonIndex = [self addButtonWithTitle:title]; + self.cancelButtonIndex = buttonIndex; + [self.actionDispatcher addActionBlock:actionBlock withButtonIndex:buttonIndex]; +} + +- (void)addCancelActionBlock:(UIAlertActionBlock)actionBlock { + [self.actionDispatcher addCancelActionBlock:actionBlock]; +} + + +- (void)setActionDispatcher:(AlertViewActionDispatcher *)actionDispatcher { + self.delegate = actionDispatcher; + objc_setAssociatedObject(self, @selector(actionDispatcher), actionDispatcher, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (AlertViewActionDispatcher *)actionDispatcher { + return objc_getAssociatedObject(self, @selector(actionDispatcher)); +} + + +@end diff --git a/Example/Pods/UIAlertViewBlockExtension/LICENSE.txt b/Example/Pods/UIAlertViewBlockExtension/LICENSE.txt new file mode 100644 index 0000000..2e621d2 --- /dev/null +++ b/Example/Pods/UIAlertViewBlockExtension/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 mangofever + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Example/Pods/UIAlertViewBlockExtension/README.md b/Example/Pods/UIAlertViewBlockExtension/README.md new file mode 100644 index 0000000..94c4c58 --- /dev/null +++ b/Example/Pods/UIAlertViewBlockExtension/README.md @@ -0,0 +1,32 @@ +# UIAlertViewBlockExtension +UIAlertView category for block expression + +## Installation +### Using cocoapods + +pod 'UIAlertViewBlockExtension' + + +## Features +- Block expression can be used for handling UIAlertView's clicks. +- Similar with UIAlertController in iOS 8.0 + +## Examples +``` +UIAlertView *alertView = [UIAlertView alertViewWithTitle:@"title" message:@"message"]; + +[alertView addButtonWithTitle:@"OK" actionBlock:^(UIAlertView *alertView, NSInteger buttonIndex) { + NSLog(@"clicked button index : %lu", buttonIndex); + NSLog(@"cancel button index : %lu", alertView.cancelButtonIndex); +}]; + +[alertView addCancelButtonWithTitle:@"Cancel" actionBlock:^(UIAlertView *alertView, NSInteger buttonIndex) { + NSLog(@"clicked button index : %lu", buttonIndex); + NSLog(@"cancel button index : %lu", alertView.cancelButtonIndex); +}]; + +[alertView show]; +``` + +## Requirements +- iOS version 4.0 or later diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 3bb32b8..8a2bbd1 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -11,6 +11,7 @@ #import "TabBarItem.h" #import "NSString+HexColor.h" #import "SharedLocationManager.h" +#import "UIAlertView+BlockExtension.h" @interface TabBarPickerSubItemsView() @@ -153,11 +154,18 @@ - (void)openSettings { - BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL); - if (canOpenSettings) { - NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; - [[UIApplication sharedApplication] openURL:url]; - } + UIAlertView *alert = [UIAlertView alertViewWithTitle:NSLocalizedString(@"Settings", @"") message:NSLocalizedString(@"Open Settings?", @"")]; + + [alert addButtonWithTitle:NSLocalizedString(@"OK", @"") actionBlock:^(UIAlertView *alertView, NSInteger buttonIndex) { + BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL); + if (canOpenSettings) { + NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; + [[UIApplication sharedApplication] openURL:url]; + } + }]; + [alert addCancelButtonWithTitle:NSLocalizedString(@"CANCEL", @"") actionBlock:nil]; + [alert show]; + } - (void)changeSwitch:(UISwitch*)sender{ From 782258891854eef469eaf8317b0c2f32c46f72f6 Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 18 Aug 2015 15:11:09 +0200 Subject: [PATCH 13/13] no message --- .../allergen.imageset/Contents.json | 23 -------- .../allergen.imageset/allergen.png | Bin 1495 -> 0 bytes .../allergen.imageset/allergen@2x.png | Bin 3922 -> 0 bytes .../allergen.imageset/allergen@3x.png | Bin 7130 -> 0 bytes .../Contents.json | 23 -------- .../allergen_highlighted.png | Bin 835 -> 0 bytes .../allergen_highlighted@2x.png | Bin 2061 -> 0 bytes .../allergen_highlighted@3x.png | Bin 3639 -> 0 bytes .../allergen_selected.imageset/Contents.json | 23 -------- .../allergen_selected.png | Bin 1491 -> 0 bytes .../allergen_selected@2x.png | Bin 4028 -> 0 bytes .../allergen_selected@3x.png | Bin 7161 -> 0 bytes .../calendar.imageset/Contents.json | 23 -------- .../calendar.imageset/calendar.png | Bin 1248 -> 0 bytes .../calendar.imageset/calendar@2x.png | Bin 2784 -> 0 bytes .../calendar.imageset/calendar@3x.png | Bin 4334 -> 0 bytes .../Contents.json | 23 -------- .../calendar_highlighted.png | Bin 757 -> 0 bytes .../calendar_highlighted@2x.png | Bin 1607 -> 0 bytes .../calendar_highlighted@3x.png | Bin 2575 -> 0 bytes .../calendar_selected.imageset/Contents.json | 23 -------- .../calendar_selected.png | Bin 1281 -> 0 bytes .../calendar_selected@2x.png | Bin 2755 -> 0 bytes .../calendar_selected@3x.png | Bin 4379 -> 0 bytes .../price.imageset/Contents.json | 23 -------- .../Media.xcassets/price.imageset/price.png | Bin 1325 -> 0 bytes .../price.imageset/price@2x.png | Bin 3141 -> 0 bytes .../price.imageset/price@3x.png | Bin 5293 -> 0 bytes .../price_highlighted.imageset/Contents.json | 23 -------- .../price_highlighted.png | Bin 785 -> 0 bytes .../price_highlighted@2x.png | Bin 1785 -> 0 bytes .../price_highlighted@3x.png | Bin 3046 -> 0 bytes .../price_selected.imageset/Contents.json | 23 -------- .../price_selected.png | Bin 1422 -> 0 bytes .../price_selected@2x.png | Bin 3528 -> 0 bytes .../price_selected@3x.png | Bin 5978 -> 0 bytes .../type.imageset/Contents.json | 23 -------- Example/Media.xcassets/type.imageset/type.png | Bin 850 -> 0 bytes .../Media.xcassets/type.imageset/type@2x.png | Bin 1342 -> 0 bytes .../Media.xcassets/type.imageset/type@3x.png | Bin 2057 -> 0 bytes .../type_highlighted.imageset/Contents.json | 23 -------- .../type_highlighted.png | Bin 550 -> 0 bytes .../type_highlighted@2x.png | Bin 903 -> 0 bytes .../type_highlighted@3x.png | Bin 1192 -> 0 bytes .../type_selected.imageset/Contents.json | 23 -------- .../type_selected.imageset/type_selected.png | Bin 808 -> 0 bytes .../type_selected@2x.png | Bin 1358 -> 0 bytes .../type_selected@3x.png | Bin 1896 -> 0 bytes .../TabBarPicker/TabBarPickerViewController.m | 55 ++++++++---------- 49 files changed, 25 insertions(+), 306 deletions(-) delete mode 100644 Example/Media.xcassets/allergen.imageset/Contents.json delete mode 100644 Example/Media.xcassets/allergen.imageset/allergen.png delete mode 100644 Example/Media.xcassets/allergen.imageset/allergen@2x.png delete mode 100644 Example/Media.xcassets/allergen.imageset/allergen@3x.png delete mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/Contents.json delete mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted.png delete mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@2x.png delete mode 100644 Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@3x.png delete mode 100644 Example/Media.xcassets/allergen_selected.imageset/Contents.json delete mode 100644 Example/Media.xcassets/allergen_selected.imageset/allergen_selected.png delete mode 100644 Example/Media.xcassets/allergen_selected.imageset/allergen_selected@2x.png delete mode 100644 Example/Media.xcassets/allergen_selected.imageset/allergen_selected@3x.png delete mode 100644 Example/Media.xcassets/calendar.imageset/Contents.json delete mode 100644 Example/Media.xcassets/calendar.imageset/calendar.png delete mode 100644 Example/Media.xcassets/calendar.imageset/calendar@2x.png delete mode 100644 Example/Media.xcassets/calendar.imageset/calendar@3x.png delete mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/Contents.json delete mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted.png delete mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@2x.png delete mode 100644 Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@3x.png delete mode 100644 Example/Media.xcassets/calendar_selected.imageset/Contents.json delete mode 100644 Example/Media.xcassets/calendar_selected.imageset/calendar_selected.png delete mode 100644 Example/Media.xcassets/calendar_selected.imageset/calendar_selected@2x.png delete mode 100644 Example/Media.xcassets/calendar_selected.imageset/calendar_selected@3x.png delete mode 100644 Example/Media.xcassets/price.imageset/Contents.json delete mode 100644 Example/Media.xcassets/price.imageset/price.png delete mode 100644 Example/Media.xcassets/price.imageset/price@2x.png delete mode 100644 Example/Media.xcassets/price.imageset/price@3x.png delete mode 100644 Example/Media.xcassets/price_highlighted.imageset/Contents.json delete mode 100644 Example/Media.xcassets/price_highlighted.imageset/price_highlighted.png delete mode 100644 Example/Media.xcassets/price_highlighted.imageset/price_highlighted@2x.png delete mode 100644 Example/Media.xcassets/price_highlighted.imageset/price_highlighted@3x.png delete mode 100644 Example/Media.xcassets/price_selected.imageset/Contents.json delete mode 100644 Example/Media.xcassets/price_selected.imageset/price_selected.png delete mode 100644 Example/Media.xcassets/price_selected.imageset/price_selected@2x.png delete mode 100644 Example/Media.xcassets/price_selected.imageset/price_selected@3x.png delete mode 100644 Example/Media.xcassets/type.imageset/Contents.json delete mode 100644 Example/Media.xcassets/type.imageset/type.png delete mode 100644 Example/Media.xcassets/type.imageset/type@2x.png delete mode 100644 Example/Media.xcassets/type.imageset/type@3x.png delete mode 100644 Example/Media.xcassets/type_highlighted.imageset/Contents.json delete mode 100644 Example/Media.xcassets/type_highlighted.imageset/type_highlighted.png delete mode 100644 Example/Media.xcassets/type_highlighted.imageset/type_highlighted@2x.png delete mode 100644 Example/Media.xcassets/type_highlighted.imageset/type_highlighted@3x.png delete mode 100644 Example/Media.xcassets/type_selected.imageset/Contents.json delete mode 100644 Example/Media.xcassets/type_selected.imageset/type_selected.png delete mode 100644 Example/Media.xcassets/type_selected.imageset/type_selected@2x.png delete mode 100644 Example/Media.xcassets/type_selected.imageset/type_selected@3x.png diff --git a/Example/Media.xcassets/allergen.imageset/Contents.json b/Example/Media.xcassets/allergen.imageset/Contents.json deleted file mode 100644 index 16e9e2b..0000000 --- a/Example/Media.xcassets/allergen.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "allergen.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "allergen@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "allergen@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/allergen.imageset/allergen.png b/Example/Media.xcassets/allergen.imageset/allergen.png deleted file mode 100644 index 718ebc26237964a18be8162f96010498c76a2eab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1495 zcmV;|1t|K7P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1$;?FK~zW$?Nw`R6jd0V_wMZMcDE&hP%NT9 zMBTo&ZGtu+B|;-&DlhR7jV1oU5Fx~1L=&qiQ8Y0SBBT;+Oc05RJWPZdNukyRwRCs( z(NcZ@>~n6< zsk%CIZq?jVxg^>5adU>K+1A!pCr#6pJjW9v3S)jNWBqz%_)0ZT@fALw?=8_K-iw@N zu+F%6@nQ;=@9pgD^kl(v`#iFimKI))%AW*k0tZdTyrAp4jXV&t%kg;p?ELEa12%2{ zl-AN$RaM;rNmt?u2(xC-I_?ymml4Fdp3^-)!@29*+uMC(3G-wOMuV?-CGTzkPyqkZ zw(KFd$Nh3V6<_b59mO<9KWXabKq{4LhAE~YkQRr-Q3B%AIAP49ES{m6s-nW8Vq6ay z_wFU!yD%ZmI~gQeNG1SA(G0x+7qxkKXm}B8u}|QRHA|xO2&OHHqg;YR*zb0`OH#?y z$EE(#hw;C%++W^c=!PGAHemmQF1PCdj8sA}^T>VB|dx(ic&T7ZE_xDl02TN=r+(C-vkS(J9_1h{8K$JWobwJq=QQ z&$GN=Nh^&U#og`T9d!sIX5+`C%>wK@>~VRHjVhz>vo?Dajy;5&a_LlhHEjO_0nWBi zB=jRovyUc>!~=OJLqyjyTILxT;Ca~lId6e?8}ia1xung=$pSNNZo!Gm@k}uma|GZW zNiDe?Io3r<{5l$qK9waRJ!3P6Ahjg%Qa%|9?K;6J>_Vh6$fl7EL_S!YVpygOrkDXe zJgDvz2yT%13V%g=LQO13ebnH{eZg?>X);b4$8k4EVEA+V?PSn>ZGpF7hfUd2;I2{R zW2vGlUx4V0p4N}SSxfzXzl=(8%^^4l*8Sv%v_M(lgsQ2_P&<4|9QLjbnkI|*6$j-dAw)rp;5~A z^k3+=<0fvaF=v?p4rYx<|i?K#6~umUZ(4a*orH7OY!8vJ&6aCj%#e@jN>YMw$V zeYNF(NjDaJqUWwySBZ;uZG$P6k-VUW4xxImkkOY;r!#3Iy(^Q-yos+u@;2E-V3Qs1 x4tGC>ySUggE%J@iK`2A&Bg9OT#rSWp`vV+0zSC(Np3?vT002ovPDHLkV1o3|(rEwy diff --git a/Example/Media.xcassets/allergen.imageset/allergen@2x.png b/Example/Media.xcassets/allergen.imageset/allergen@2x.png deleted file mode 100644 index 7bef1158afc071a2954895206085324c254f58c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3922 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 diff --git a/Example/Media.xcassets/allergen.imageset/allergen@3x.png b/Example/Media.xcassets/allergen.imageset/allergen@3x.png deleted file mode 100644 index 8589f5e3e04f0e9c76d325fa9c98abd10d1acf3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7130 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 QLI3~&07*qoM6N<$f-RG{H~;_u diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/Contents.json b/Example/Media.xcassets/allergen_highlighted.imageset/Contents.json deleted file mode 100644 index 3f4ccd5..0000000 --- a/Example/Media.xcassets/allergen_highlighted.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "allergen_highlighted.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "allergen_highlighted@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "allergen_highlighted@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted.png b/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted.png deleted file mode 100644 index a0f3a2fcfaab52882d3d828ef2afa16fb5cd26fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 zcmV-J1HAl+P)Px#32;bRa{vGqB>(^xB>_oNB=7(L0_aIZK~zW$?bcmr&2b#Z@f|j^%`8*sG!`~i zyI^UuTzF_6E@;g|i(-_ATu=%zH(Dzu7alG=mJ7;6$As7;Glwi~u_ zyg$e9d;HF^L;rT}_|~i6^Y3^5zyI&|-_p|lN0J?gL?T;IZq4K;VX&1`mNIDr6o)h^ z=@N8dQz{opXTk$eoJS^>qX*AXI^e~aBm>nLiZi$XEo=)tAzzS+g*545C>o)%tVS;$ zA&hbv(1J`*0gLZsrfEXb<9LWMn1N1c;hew=GDurihQ;us+AXH1%g0=N#3#%{D9~aI z7=lyi#%8>Q;yuQq0HfTZ`^kU6>_CfHX9m{5;w71tc!4!I278i&=x$~vL?A)lciTH?3I@-*y*MT<31p?W>RS7__>>vhaEnNDks z^|h3`MbMpWvbwmGh7o9nCepjn*Ww;@`gUL^7C=!4E&L8WSP?fF1?sLq?{QpWTeM6= z5h`&De&}h!*ybuLG=RK5QFcI9`IAz=!S${D?da1`N9RjuN3TDS{AlP(WV`w%m(!4AfC^21{dKL^Bp=V&j6-op(fwoRcg{x+3VaX0blnhtha-LicD`;=p8O`f8iCy^70NhzZbBFNOY)Do*0p|0ERj=z8&i zf-xhZC$!70t+UY8(HTg$N#pk0Dubp>sDm>L#pr`R%*~wAHqw6}egHQY4~f?(zYPEY N002ovPDHLkV1kN>gQ5Tc diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@2x.png b/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@2x.png deleted file mode 100644 index 6135817a8a14a32b6082dfc2e2aa7bd59b217324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2061 zcmV+o2=e!dP)Px#32;bRa{vGqB>(^xB>_oNB=7(L2eL^-K~!i3?U{X$k5v@MZI%p{RU08oLf$e{ z%t#U{<2Ce#Fq&$bLaIMB@&`4e$x9`pHZ`)slwM3sQ%p<}kyJ=Yim^nJyhNk6Zl_0fiq{$)PWpmA2m^Y z8BxBJtS8~iVF^g`pbMnA$x`kLtD%!ypRzWIYEmDAD>EphThiE?)Se(<2RgMUM}l=> zX^^m~cQCTNN$oc$`fnI){*==sr%8PRuFR)U-IB%b0lzx|$FN73Kjk#ZWx_HiVVQ42 zHA@z|7yJn($1xr>f68c*Y696x2%Qe&;510)fxA+jDZ49ml=ASDnT#buQmtVNd;^W0 z`X?#pLS?6}FXeq;l8-UO{3)YJ>IT>bCf{OQr3BIbk$yXM2Q3hN2nN|?u(P0@l`ohk z34L@of-fIZQLsu%kn#Y~L`;rg46x*}tApBUi*~pA3!+J21VqW5Zc+pd10CfOP3j)= zV_yoIl*s{%Tg_kUn!$B^N6AZmLIe(lo$!G9urGl{;K~LHO)aKWGy_(&fw27>g_~Ti z#krb*tF4S(6BfFSu)l^YEv8g719k-6Bsyq7^jwINmlGvLqp%OSCKWq)617dLj{)1m zFCf_tI^z4N5FvdNB|sb94_(m(xPGEGN%t|}wXh9bSx?~_@VAm;R98ibpj&}%8Qr0o zC5N2`I($yR8fa*~Qqc^kTSU~mGz*_@?<>G$Ek=rlY9yFpj0CYC&QPbl4Y zN`o_KbI`XXOmxEOUC9PbXcII7wfPyMM7}mQx%1HlzkSZ36YcvN5$$SH-y$t7Z83@V z#MVtiPk%1dgD}}l<;pO}xzv?tVkD_Ae?AE>Lmz>Y5Y~t4^PwEEyQOJ60Tni>uc)5} z^N2l+R;(UOT~NFpiu%}we=j<@q9+gf;iqk;dte4^hA`PmWo83a)7NyOelxG@9x5;@R_qBr~ZW19c%RVQV%uh*!dP zTQT2OjBapIRFd++_29m%6k{vfDXLv)J&k6nWrQqr8xhkI4n@RjJ6{G`;bkE)nrJt- zzbKoy%J3|l1`~ZN>qNCFR8O!vh?41U1A?>--;W3$saSkb2acNQohsJ0A}$RkgDYd* zd=lEUY76=S=!;(N*!$vkK%KTrt{1G;s1I4N5lq%$=z8UfCfC*NGs-4TE9Y)Y9a6== zTM|4Ld{Oe{L928>ya3O`V5kL;gB=d`F7~6&LKVV#}fu&)NIRdTI zuF#I~6D6i1tP0vleE{YCxP)aIOaL9n)u0y~gecKd?_(WeD}j|xaE|$;sn@o8#qrDB z2Su(NG477iZK!x3ZUVJpu@eVf3Hrk!C`$GdpzWvkPAj|zOoqA>3nr&=W?Dd?51{Yx zW8E_TK295L|Ln+bhBYKeF%w}ab}KHT$FTLgDFccU-Tv(tvo5plpWgEP#`LYr^Kh8$ z_;iBqXs5G z@7#0?479d=|FAaHcXML3E3(7lVs$um;=SlJkg5IKQUPfB$3WPY)P&!IEE@n@Tljl0 zdB%KUnjpo$Zoz@pgBj$E4GDKBthR$#kZ{@*mHOotpNQ04|m_!|hnPRfG+ zIdLatHvZvYau}nn`Jyy2+Lr!lsqfakYJ+YFzk3S73~%oiWW^hw%h70IiPhmqK*2eCgaamER$<2Wk z&>+tF9~Br!$NxysA>fOyVmgUG1>Jabson>^nT(Yf+t0 zG}+$C&L^q;k)RGQ-5wT$Rx3($^Uzk*mQ47~)WtMqgk*J8w}3{VzXI!2)^{!sc7gs3 rzKP3n$u7M#DwDD&Q1%3p`vm?0?OBoiQ-?8j00000NkvXXu0mjfa-+-3 diff --git a/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@3x.png b/Example/Media.xcassets/allergen_highlighted.imageset/allergen_highlighted@3x.png deleted file mode 100644 index ba717c7d9fa2f0d69d8a1b30c9329da9531d5076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3639 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 JPDHLkV1g&L(s=*? diff --git a/Example/Media.xcassets/allergen_selected.imageset/Contents.json b/Example/Media.xcassets/allergen_selected.imageset/Contents.json deleted file mode 100644 index 5546371..0000000 --- a/Example/Media.xcassets/allergen_selected.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "allergen_selected.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "allergen_selected@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "allergen_selected@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/allergen_selected.imageset/allergen_selected.png b/Example/Media.xcassets/allergen_selected.imageset/allergen_selected.png deleted file mode 100644 index 96d249996915f9e0f18dcab576be622b765fe3ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1491 zcmV;^1uXiBP)Px#32;bRa{vGqB>(^xB>_oNB=7(L1$aqBK~zW$?Nw`RR7Dh?Gc)(@ZXeryfTg9| zu5AS(YGNB75t|2Cj=SNwp$=}|7ay*P{CX+-kP#0X8r)w_{8^&@2to1q}1e}{A^g(-g36hfzztj!VHWM6A*7*W)WI1I*}Ej@nxLb(5`-`t;5S6jPH;wqZgH&XFAxU4WRTz^piKj>HqSgi_6Er>#1MVqoH( zS)HB6b&)BJo(?pv&day$!vtIj%Q~M!2ufKjiVc4Fcx`Rofk=1kV#@gQ1fjB6(pX%y z>-)`;h-Z^sRkOZ8pecvgw^INliHI*Qp{Qb7g2@Ao(5;+{pU=dHs%8Inw@rT|pJ)|;gyzMV9*hnq zB++jY*pUIxwlv!zs;jjDPvN?0Ncb%TU&$zhjxk6(7)xl~H~+L}R9@O25*C~9z~a-T z{XH8tMMfK4l(u_)6@G!`FCjRAnP?I5;q~EgcqGFyCXIc8rY8%i_92lo!>0MUJP#Lg zb=n*^*)o~7iMl}dr34BUA+Z`x9CsE_{1FA>=Zv3{TaE$JA-13Be}UYp^GY!OnyN%`ht^ai?GxWGqc5e@(;~LXbS=C6wG`(($~FQ z;#msR=`8UOH+}*D-jph|c#4Z>g+rmfF`CJ{(xU-Jnp`FG5x!~X&U3zwwgWQ4UU|pR zsA=-kiR4>JZmuCxFTwc;5c;Uc=c`jhs*Q~Fha)|ItpzTgLKrF#w!NuUcN`ndZ z-B5r3ZjRUjnR)|b?MruQ>Ae{uWu+M30>*io4Nn_G)>j{VE=SLO-!Rz`!qFtPK~)Vd zQz+AL8?xa^0xYNUV+)^GcBrSPgL6X?q9g{o(dF~sul%Y>SjZ$8IAAy;jCoPh{7mwkG6dgcaW)TjwH|T+J*W0?S#L9YRfIyM9uNY@WgXt&Eh$@| z=A`tM$^u8jmo!rmxg}AIvAv_hSXkNCmi{BPP?e?Wot;tDSItveIUON!1PQS<+}E}6 zqW9w0U0N|ioj`e@^95&1CEGGts3-8z3)59)prQKUvS`zMakgPz=bu-3)-MAEkFR2r z*Iy~zzVc@-^QXH7#bs5Vvhp4^pI%c^k$%ZZbA7#E1G?GbVt>SpJvimZ_OuS!0NGx(yT@nBQ002ovPDHLkV1ntJwFm$J diff --git a/Example/Media.xcassets/allergen_selected.imageset/allergen_selected@2x.png b/Example/Media.xcassets/allergen_selected.imageset/allergen_selected@2x.png deleted file mode 100644 index 265ffa5a282ca5b251d72826c97effb89730e26b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4028 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 diff --git a/Example/Media.xcassets/calendar.imageset/Contents.json b/Example/Media.xcassets/calendar.imageset/Contents.json deleted file mode 100644 index 7c6a116..0000000 --- a/Example/Media.xcassets/calendar.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "calendar.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "calendar@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "calendar@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/calendar.imageset/calendar.png b/Example/Media.xcassets/calendar.imageset/calendar.png deleted file mode 100644 index 80f97f7ea3dbe69d5bdb331660b7db48cd33b16e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1248 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 mtmGp>IOczs diff --git a/Example/Media.xcassets/calendar.imageset/calendar@3x.png b/Example/Media.xcassets/calendar.imageset/calendar@3x.png deleted file mode 100644 index 68c484aac35a812af3b29efeb6d808c5845a929a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4334 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 diff --git a/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@2x.png b/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@2x.png deleted file mode 100644 index 4df3a0b3aceb207541ba52b6af3a48dd5f02feb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1607 zcmV-N2Dtf&P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1?)*gK~!i3?V5XtRYe@f?_JH*%3SGXZfPnC z8e&968Q89Wg%naG^@mXs1rd?Z9~Kl92DMut2}Q6;4+@DMM)r`(Y^B9g(o|fFsLV}E zD|)T#`q=IBy*qO|clMlf=jfR=rD zi^XEEjr)ejYVX@loL;%(ZXunTNZvcp2CGR=a&^+u=r>Tl3atIKH2u8GhSGuQR65eB z_y}p`H^DH_Y+Z?NJz?rBQ!eQP4MZah2WzkR5U`@UdRPr#+KjxyBAsogvWuMx)v-D_ zDUyGPxH{R)&l#ew}j%jwRbP+jV5-J-7 znjz`@1)4SA8B4OKih`UuRS_iGet%95f7N(Ynn|nxbzYnO6|j3`A@ObCE0a-t6|{e~ zXYYiKAV;o+76>M;W4l@JU#m6to}BB1(?GM>LD^S?UV^=5SN5kvH|((Xlqo-`xQ<0n ztZ!+#5p)RX(AW!EWEaX!pgLv053EGnv3a?Mu4CoO8Qp^7)!Qu48A?nmFObbxfnF zr4m}Sw?nRqg6o(b#Cn*zhf1D~>dhniN|k5b<+@zQPN77c@Dg%nj_csm91A%7?slkX zisxz__+&9L%k!M3#;I7s3v<+XocyCo>A!IST}l0VKR(>E8tDA@*$BK zFw<}e;id2xBuR^LXbcL=K(mrnJtd`!kT&uW7pGUmMDRYxrVxPfE(4q1xRFgd@^dBfhd>vCKAB5qc zgJLtd(niK|xWPE^a701N_$n9%pGNYNqMCuZrXKCbbxDd&ekg)LGzKHP-^gfKtD|bFGDNbs>U4ogY+)A(B$iK zwF`6%+qZ`Ic&Msl*Bc$5z}ni-$3|c0vwR%WZPjaZN^4%Hp`QHu^pMO1eRaPG4}lJb z(Xbu;ZRkHkTo9`}@o`Kao?23xfh}M^MCF`4Uaup*9X-)O2LTq!DMrwNj+M)D(s#3e0nNUS1u2_5U-7H6FTqRlZ z=9p!*5~J=ch8cBtpuc%A9n;AF-8Y29UJZ3*#xS$gZK zyAi!*(slQk9>V)Uod_XQsPslgR4=N{#9MM~MEzbw-TkL74fwnSqn4ZKb6#HuL!ddQ zTJ_R>d&MA;u{Ed4vs9xt$AjLApMYxLW~d~JzBCqAI7LDg-$r<@TM#&{EwF}Vqvx8I zz1}q+fob3?ItM<22dHPguTgM4<50OB(xX6!%X+Zia6|`)zLMXEn?P?gu@dT#h;7U# zlg{ejFEn!(fF2RLG}Uvj6Mg`F5_J&Pq&5Pz5jc(`@DDuy>^-nmJEs5u002ovPDHLk FV1h*${|x{D diff --git a/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@3x.png b/Example/Media.xcassets/calendar_highlighted.imageset/calendar_highlighted@3x.png deleted file mode 100644 index 283cba4fe65f7c00d047f35a45e32c468c536e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2575 zcmV+q3h?!bP)Px#32;bRa{vGqB>(^xB>_oNB=7(L3A9N>K~#7F?VAg%9912MdnpflYpGV~!&Yv! zptiL&fQTs-YmG0oP+u5PqlSo9P=f)CBAQ5O(kPLKNQjt-5g{6^RBfVS+8`C%DoBuu zXt5Mi%H^S@w1wN3-?yE!ox9BJ&d%=Moo(iyeD|E0InUpD&Y8WVMwM17P%2O=P%2O= z&_)INvZS?t|9-=bhr?sx_u=2x*VnfftP>ZdULnWv z@cS?e6irbF;nVOiv}!LRflt7N@EjZl+u;XrBNW;WrxzSS2`zLz>*wK2P{d%0cr@{k z#Ld*BL&OBv^ryiIv1j(csTtBY?;(1uBcm&3PkaYVsgt|I%3LP~ab6D}2J=cY^Ii#$rUmHq{XSZH9hscc>5Mv@{$hIK?H$e|HF<~e&eW&9 z^I%Umi`r-|>}J_|ChxS>xwdyYKRGYOMR%@z9@;UXo4#dnk&D}IE+m+Fx{|jt2ZyxU z<|c_~p}z}OESLp%f}a>};O>B*!jljW%VkrhFgB3$^1N8gA^dCMZV2hyV2j~3P#j}n zSq*V>e>Ti`cm&)V4}^aU3=9j{!UbtvT9f{Et}m)hl6$w*g!A$}wc$qcI;kgyR*#p% zEsmRDhq*mRvnRSWY1t4Vys5Z14AaB2DG4W)IVI@G+|F7c=e{4oR0x%{$36w^FsBfQ z?KR*qwjpgahjZaAlZes#>-C+g4e2Y~s)$Zy)3J2pt8K?JIn)y_MQlS0mm-!Twn2e5 zB+-jKG3*Z7Q2q8Kk+eE{#^@1Opbi=1?pP>G6467}??BR~yW54g7uGxb>`M8P zL{z*PT`5hEX4;E$V&SANMQlTpBn@W|7`8wW=S0i)GVo}wFqR~u;#tt5nhRf{EJ;KQ zSg4jRlwt{mDd)rlQJTF~irB1T3E@i-6GUnDRw-h$iY0_EMNAN-*;{F=bF=AmJAC3{ z2?r_uQ0k4a0Q|AkK!n>QKZ?e zj~QYPh4iEB(_#fg;00o#0 zH^Xn><51~oxbxvz&@6~?R>7SScj4L)?+3+L3{OBk^QSBCwL9RN_v!FA7zulbOs2yN zh2&-)5uYdCZSXF541)RlnaiR|+Hxzxg9JD9P6f1QImgwrAs&7T3@-~{1B|3?B(s4R zjA?G>5izac_PAd}B2K}7Yf3;Hq4J9g+&4h&kELp(neH`kY?QXW|1Y(HM(EnnAKgu0Omup zW;&Mf$q087?i$=>G;5a-;b6m4uvUk&`zj~hC6)x&-!i@roF9{H9XF@LBzS2kJ^qiu zHmEfhj#HzwTN%ciNoNt5##}faoY$X&JhqZZ2M&nwv?8K&+izh;R7tlfXM>yFG*k4g za3A~uK?%7cAHa+jopgP$s?k@VHy>mi)$g$%uR7PN_si|E5U8WuW=s-_l5Q_7nn2P z3lQc)yp>-1FFlw;d`!jH-ajsm?pH0V=4et>uj|!~$5oq{M?~Yi6J|iY;bkG>qKxJG zqKJENeG8cY&Z+Ss%w@%lAJVrG;%OZS(fZ%tlf={D+lK;*Q_wk(wbAzF5s~yOc6{*U za8DwRWVKMitl=|-b1o*JRE?2h=QtCxirDgeP|dtU9>vofc5bUi!dxt~4&_RDTAfro zSt&<}bEdWxwpV=l|JWeur_%@1HB4x{gLl(?qgxry>B+X|iNnc7M|&Jx09rA7n5W>4 zUI<=AxC8IR*>W2!vWQk;GL^QBPephyueo4+3x*(VxY`31a2#Z{KNMZWDb!>F3&0>^ z{sX^9S7AGnwUQy6b#;|*x2-MmoM>fV9iiXt$VNQ{vim5@`l5^IJN5~YXuc)gANh;o zEN7JLDY}TxU4F!xOkrJER>5FF6!g9ShnA)2B3j0?;6y#xa#&aKb^p&*H0&c5qZdRx zmU8+{dJ={9K;j121l_dFWPWWZK+@{$GVkWLNVb5&oD3`B4!9LA0M8%0Vdv4H?p-UE zB%~Ebtw7r0r5N{9QcLBoTd{`Q3jeIM^lka_?Lj^lOti*k;ym7 z*8}F^MuGee+)L(fcA+N0`;xhOX zY$2bzM`LNH8F@4Bdc3GpxVJnF7QtI#Dm1bU1aJ$r0_^F7h_?r~p&fD}h8jmb)9*U{ z;L+A>aMZcq^qbCOunAl!9ss9?9nz@h5oVYjvLX(vB^QY5Txxy8^yO4wPurKZ#}T%) lQh`!|Qh`!|Qi0AZ@P9A<5k`JtNXq~K002ovPDHLkV1h*(>Iwh= diff --git a/Example/Media.xcassets/calendar_selected.imageset/Contents.json b/Example/Media.xcassets/calendar_selected.imageset/Contents.json deleted file mode 100644 index 8af332a..0000000 --- a/Example/Media.xcassets/calendar_selected.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "calendar_selected.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "calendar_selected@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "calendar_selected@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/calendar_selected.imageset/calendar_selected.png b/Example/Media.xcassets/calendar_selected.imageset/calendar_selected.png deleted file mode 100644 index 16a31f08ce8c8b2e35fb3d33f0354292a0d7b82c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 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 JPDHLkV1m_eL_z=n diff --git a/Example/Media.xcassets/calendar_selected.imageset/calendar_selected@3x.png b/Example/Media.xcassets/calendar_selected.imageset/calendar_selected@3x.png deleted file mode 100644 index d58e939008fbb0ddfb5de0564f9eda3cf0629ba4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4379 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 diff --git a/Example/Media.xcassets/price.imageset/price@2x.png b/Example/Media.xcassets/price.imageset/price@2x.png deleted file mode 100644 index cdb132bd6cb15a4afde04353aa4536a181e4e4c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3141 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 diff --git a/Example/Media.xcassets/price_highlighted.imageset/Contents.json b/Example/Media.xcassets/price_highlighted.imageset/Contents.json deleted file mode 100644 index f635a5c..0000000 --- a/Example/Media.xcassets/price_highlighted.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "price_highlighted.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "price_highlighted@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "price_highlighted@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/price_highlighted.imageset/price_highlighted.png b/Example/Media.xcassets/price_highlighted.imageset/price_highlighted.png deleted file mode 100644 index a63b16c7bebc8e8e76eb7e77511dce8ca58e44e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmV+s1Md8ZP)Px#32;bRa{vGqB>(^xB>_oNB=7(L0=7v+K~zW$?Ul_-l|dAT?=>qcGl&ve6hRP0 zWKpgXA*e_Qq87FbbXE8V1Q9J<1g(OgRRpcE5YG@rm?{>FlW9B?wLlN# zldYt`462dq3>@oC)(aP*LUF3C72ZPO5&aRUN&IQo1Z&}RGO#J>m%Ap59mV)(8l7Cj zcsLfaJVifq8ej$Ng)x{TljSu*rz=fFutxlcp&o`Ae}*mK--0;=J7FVyg2(U#=86Sv zpn9Pxoq=y3j6vujjdjos@57nckMys?`igisBH8hZ0XmG;!T^Mx)7S;~GRF+|ch(ML zU%wg#PybhRB3XO*!ZOwfA3*(pR=5f37evrW+Mf6ugr>8`Aa;#0^VK#JNpjYb_8nCp zSOgs~4ZgQ!Zh`gijz_VV;43I&JMSQLLiwuVWF2Kk@`qiW&vtkWdpB#xuI*lfdN7Xm z6vTL(-0QFNT_Ty+bsem#S<(01&cc3p2N8&7Sx5M55ve|C2d_Njb^nCj`D8KJPhyrF_2{cxxw<*C@@NY!uG9g`8qH;j&U+!3*%iZ3Q}~ z4)(wWcnX8yNjHFUo*(pacnQ^u-JQvHoBtuZ>&r&LcEOiyjwa@HSDz)D$>LQoWE5nQ z&;*Su@FpDCD2!3s6%}4}VisCCC zM}B=;2>G!E+XQQ6(h0CgEDHa{Sa5e>fKS+bpFoBdDH1PgM diff --git a/Example/Media.xcassets/price_highlighted.imageset/price_highlighted@2x.png b/Example/Media.xcassets/price_highlighted.imageset/price_highlighted@2x.png deleted file mode 100644 index c05f3b65c8e45c49fd5d9ba9e34a9fbee7b8a468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1785 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 diff --git a/Example/Media.xcassets/price_selected.imageset/Contents.json b/Example/Media.xcassets/price_selected.imageset/Contents.json deleted file mode 100644 index 3f6398b..0000000 --- a/Example/Media.xcassets/price_selected.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "price_selected.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "price_selected@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "price_selected@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/price_selected.imageset/price_selected.png b/Example/Media.xcassets/price_selected.imageset/price_selected.png deleted file mode 100644 index 37b6aba5cc5648d554e94728ba1f9cb46375f853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1422 zcmV;91#$X`P)Px#32;bRa{vGqB>(^xB>_oNB=7(L1v5!RK~zW$?NwcDR7Dg%XJ+obyIr>3-fc@M z?Lw)d7!o2S(P-2V5G5KwB|I32CPgD45)~gL(GY`1kvDx16MurB77c1t6lhE&F^VyW z7!agFQ_Hr1bpN+|e`dyWw{&S6Ad&FsWbd6jGv}P|oNvCF1^B;R0|t;{7}2Jt8bH+7 zARd6$n3Hk{&YUTXk0)ZyQ*UR;x6?uej54q^Dly*pGGh&z4ORRRu~zuoQUDvq+Y1C8 zMvjxq3jrJAJNI;W@Piqe!G^>PoY;i0mUx?QSN=1iWO6$&seY@{cpkFU&<@%(wwY9eB zh}#Mnn{PL_tq9^(z%&k{2a_Z1`UBr&DTNPAM$%yNV?g8aiKYqb<8kx|$YdNGDc?DZ z{;K4>`|fB=_HJ^uUd^@EC8Bh7Z5*eVCTUKtqL}6|SfF|an@Pf3psp@D0v7bgyN|w{ zaoy)$IWw3f>)URrs#48{$pSG@B_u%oVZEzo)L3HwK+}}BP{K(^Ly1%iwh%b4rdoQ4 zH`$5Ab(P8x`6M*>vvw#Na9o+6+tX8u@BMnq8)wgYOk=~$P?!xL-@u5@CC3%X+~84C z>0F}B;Y@$Y8HTC2fL@qoTHHXih?6)uCalIJl*lL9bv zRM{mZfiw1K!fu>Og?yBE^3PX^&^}74lcEWFAk2c?g3CfPMlW8zYRJ0WmxE!aX-59C zLfCDEvD=7QKXN4vjXHD6b5vkLS0Dv|A>Vf&P^kOrB9W~jGyGCR*SDWLTAichAb5^@ zp6@G3CPrGI)IEyHt>hmhQf~AI5HK{t7BN8Q)x&xN|!5IoVMY z<3mJ^!HxHnQX8xHeDP}kyoE~{<8M;dCea7G3wd>@SmXwSUFl43>dLqJIA{|he}ILH zel3+6W`;w0x=EK5ZN9Ie{pr@WEHJ(yBKXum2#1`KdgkCaKReG@N9df2Pv^>==FH2R>I1Hj*y&wry8?p^(XoML$h#)YAW- c*PelY0S*{G*5_PFi2wiq07*qoM6N<$f-{_?Pyhe` diff --git a/Example/Media.xcassets/price_selected.imageset/price_selected@2x.png b/Example/Media.xcassets/price_selected.imageset/price_selected@2x.png deleted file mode 100644 index 01ae7cc44306a35e959eee868f385a26967d0662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3528 zcmV;(4L9Px#32;bRa{vGqB>(^xB>_oNB=7(L4Q)w8K~!i3?O6$IT*VolYRFAzo@6G)4&wu~_%rZ9D<|HsDfjJ4x zN#OrL0vtS+gliVA;aUe6=j!9ivsT=67=Lc0^Uzzx&}f9K>nj9j_cJc4idpc#g5d^d zQmb3Ae{qau3FTaJCIn;p*mQGJ?uXd)413eIw7-T5ifl#>ZZ@pI>8MW4Nm_b*O_4jy z4hFQ`54M&H&du4ui-RbNNR6hnx^u9-_18cvi$h&BlrEW9ANKfJGYscbdM2wW8YN>z zF^0Vk+JnhQf!7-UypJtr2OT}q(qk^De^^U>rdFy)aWyQosDb^JYOZ6P=@Ym#=EJUv zqZeDw4w$uVb!Q^cb7XcB|8t1Jj+S3xHGK*j4^`FHOM{&TH|QvwJl6ZnjDabwoQ?e* zEt`*ppm6*_#>~c*7u0Ew_G#1XtlPSEpb)0uU54ZJCu`0ZNv5Mr@CDFVkZaj3G&^E* ztKCk?*M>S<{#>wb##fGTUne~5IRsOLd${m;^aDc!is_Am@3!6!44E0RVDj}dR+opu z=1olTOBoYYNQowVreA6MHK6@v_2KsC`GErycp|Y_Ei-&qA%A`W@W*q(E7&wKPbr;Y zTy+7*zqHW56~n`O`uqEbXQO8dV~7$5nAXp7W^L;0=y-lM1T^2i`od3{LOkS=@=OZa z3eG@1hmicpB14vaFs)MO9JhOSPbd_M$g=RY$Sya7@j6yCV&nV#QRz9tq57&`)ndCHjMOak?Ssf=uuxuZW1{zM!?#?=|Am@B<}%vdzZ#TUOfsXENzLIXL9J zl1P}ybwYCP1+E(-HT6qu#c!Cd%$mxW)(}f^t^KU?;#{yb4hYR}ga9UEAvbKO-Pyb^ z9IOAlF!+Not8msRw01rd3|il=oM$Za`J@MlISn=01$YSO$)?v_=JA=A1w+mgqa)UX zJw3+ZbVk7R!J%AfGG}v1<-&ENy{+AaG~~a(uV+>2T?ogoDI^G+GF!1twL7={F;rJ~ znvmi*5Oml9@dg+6&GDGExu(_!rVI#$k71mQnA`~3$bO)iEG-!@JBs-dOkGo2=6$sO zICe%TI0iw$A~oaiYtzRb0I(;!VEn6S?c^_VpG~bxeULVpmfOe#Q?}}4R^krEVgaG$ zuTY6*&5xM+W_6YIt#H&Qv4#ZVt|W#~-*nl^`W`;FfbPe}<3$!V9Xry1uZ5a6Rmc6S zqLFmkak9)wX?!7CQ+KmV1NHwEWAO1I1dKFAE^1kc6Qx@HHok9Pd#KiPGsey$#%;v? z>*rTmH-@8rGQ0fq5v>bIi80>$=G*CeV>_FEnNeyh;q*|z$ZMp*GMK=f^Qyd`C=J*X z*22ZDp{lxi7j*I}ceKbpC7eTGss#xvyMoLosqC(R6+6@8W$Pjl z1(O6BU{3QdMPo74m{U!WYg?7mM6r$gjJrl{`(;QjD}B!Ole88LUQRt}>&&vCz0CAT zYm%;VfdWK#B&@L?p8f2z$pb4_mUcF*y{@~V@n>CYE^5GXQTMm41Gb(12~x+9D?q}V zZ7`QBBOw;`dabNBxUSaR-$--sX$-yrI1~fo-bn57n?tp=t8=So{*G~xZ%jsHtZOC@}WyMe;RNG9fJ)x2o$-Yyy|_xRU_4CCQ|G;V|P zpXyk3@hLQ3vu6)gK&=J_^BbAusix1f#OqNuv<9;mI8-esnD-bPUxDm*Jlx`H$;@q$ z+T-qE6&1mJWYay*+uL-o-AP}(M6#0(!#9r$gY5DK1IF z^zjPAYZz)n*ZGZ?cb$LXWf%(5cz&ZdO2kV`OEYkT>?CT>#YFRz1Wi(=2H_xYiVfv~ z;DSDO^s5+3W+#sEb^5MdLzv1|;L&(}H8(_n{HxM1%v!@_Rsm6jhN7e7vf-T-E8+}M z^w8+Q<8{H%dRzf~9{#ezXUO#-!(5+I4oje1D`bptkk*z3d_e;iF;06NrWu-|F#?`w zM2wJEp>(-+VyuV<)Gk%Inhs$c-WGn`6~?#CFE!E<{gj5cW(RQ za6o<{ZQEZtl1{xqH7FI<(={4iEGYzyH^DqgdE~^qJ3ghyN(6!p<>d?FQ|68_0C?{) zrlt&M5ZzFztgmF|_MY=Dy!3^YD=SExOP+daqJU8#@vmlcc1exPCQaTpfrKta_$)C z=f<2s=aDsyd%7I;c=b^4(;QLp;EEML!u96`hLEvBUnShba4+mR-hd2m(-P@|xIJPe z4zv2ZxLUo2uJ_#W{2m}Is-3^}v)=24c6y))s;2o69=aV{hjEh3Pmn|qgn{hBwq%(7 zW{L>|d)#D78TScsb&@+*b(dF?3;b>o{I9d&qURCr*SRsk-J68+x?`iZBD%6zQ&L*4 z^oh%v8}dK|F*Gt06h~AGhr=Nd+a?81fU#h=ok_oAS?aT1pFiLEAuP(omJ;k23z~L3 zLwLK^G_FDwvowjI;+KXPvDGKt{SZv1Jx-Cv_m7MXTgnNUD7ApJy|2R>oZZJ<%%p5G z-x)qoQH>}oi^?mSV0nHs%?{47;=YDL{gIaTV*s}fw zb^d|ou&V+12_{{5!kEC3|JBjaGN8-xqV*e$^^6*W)<}QUDEp41osygo-DU5;$Ayex zrBZ#PxRZ#Mg!jWZ>P*gzCq_q;SBAn+4ueVO8ufrDcE5ITMZ?ZT`l`HhG}t@oT`>09D^x4!^_=-`}fZ!BLP43z|toaNm( zI#=W~Mud|^eBu|%`je6lq9|0U(dBLKxKzJM1;t`{ODVnECq9+m~siuJe z>80chvoaL0 z%wwuB^4mFNt@%NR=6s02FK1HrJv~Q^Y&0ZcL0fVx^Cz08R=7uQ^n?30P*DFKCUYeP z3mi|JYpdq7+bYT>Ia|JIQEOqIDy4m}_hu$Qg0b4y1jYe7(= zs0h@yR`xXm9c{mNVW-VW?&Js1D{r`LKSK2dsJ!VyRJ@oN+kP;YG<=xDt=pWY9fF_s=0 z8uXWzy@;Q-*5F<#1UmSE#F*GUny{p4IEzg~!e0>gb7c|v9GNDWANeB@FQD!&W$QbR z9?jg{-NX7U%XFE-jrBwQ?Jab_NI#fNvHPjXB(4G!wQjFr1rBu!Cs)B}C(hv-+% ztY2ow#=kx?#%MpfujkT#7fkXBR9HAV<*v3ZT+qY(l2Oy(^E_TZ5rvB0>9w8Yu$A!w z&ZOI~EIZI56xzp`{nP$;TkiwtBu&vi)IL(ia$7QiUstZef%fZQ?u;x6V32%_jwWsd zq+mjK_Rwn1kI+GhgSgM#f?rqf8SHF%WgOqM-T#8I93eR6M!aR81LapBuC2mN4DMR8 z$DMqdkeYZ3Ea4|&wZ-9j%TQa}i_>yaFqn^|VCo}$jj=$OFI)_3I}w^Ai-QVLc}h0K zE$h|(t}eR1p4Q|(LMrFBnv=ks1m+|#CxMTj1pWPx#32;bRa{vGqB>(^xB>_oNB=7(L7XL{^K~#7F?OY3#oJE!XtNus7yJvbb??+~a z0KotvXfPTuk_jXMSrwF{dt6jj&#DNLbyrX!tS%x8vcl@ww%p=K6W_r4(AOCy5`%nKp-80=iGaUk9&lKtTtN*IHb?d8J_ujfyjUX(f z1q2olSU_L_fdvE>5LiH90f7Ys77$oK;B-ZRWf}7cwYB2u%H%2K%eI*?GLk|cW~KcQ zh^(r){R>QDODZMuW^Ts>+bh`C{iA(-FIPGa2@N^p>^jcGiz_AaW^TtA6HHBg3}ZMc z5D5cKu?t;fi`aMU77M_dg5L=i{T7>LOC#*2xvV9N@hh@Lq&^jgZ)MsrqwyKW`8L zo&g2EE7pJLhjZ!Rb*@9MitDbB=i$xvZ{Vp>e*9S9Aw1~w2z`$x@pw|l4U};g)(;35#rACg7qo3sXVDIx4^jFY?w5?d(+OeB+ zen~+|!52n)1rE8n+qCu1$NT#a6co?n3jtSMRn_8?Je`7Ronte8J|@No9eaSwQXk8t ze{YEPVC$}31GA7-BK3=#ZHd)m%XKm1!Ww3?x53$J61eOB<{J?jD)2O{<9PnYVr-va zYtPxb*f)NxcL;@PBxh_T z+?uIAXWMz@yR@haKW#6B^%0xdzl|L}{3j5iV8pyq(dA4&AS~FhV6tJ1^A+Iuud#vN z-SeWHR~aDjBdgb5B#HcMGUsbW7|E0Y)tXnw%|fcgfFyq)E@&%{g+jES?{Ukj8XDTU z?0qk!_a-Ka7cc_M{kWB~&*`*tFi!)Si+m+4_DUG^!&R;A51OX-L}GA|ton2k(|VZt zS`pMp97xd+KWzh(Wq7vbv5D|GM zs(8mu!E%%%#$%^V!#ARvO42gzV%q_7Rg-s z3UuDh&QSB(6D=%#qt&ah7Fkx8hr`Kt_`TH^Dn7YJU_mJIV17S@CYk*|n!5dXB0lka zBI)l@GsIim!8$D>#!xb+AB&C z(t)KCEir5*%#3AxuXWd!f1rAyP;-qeDz`!R-R$VSY-5ra)3VG4uh&}c_p2YNTco^8 zQ38@F1XKX4o0c$|tvmfe{d7XsZi_@~1pM2YPNyF|F>1e*O36o66(k^H&BN?9Fux#H}M~F;+@Nc*%ez5>R5C|!%vh1FV}fIzRw9l3l`SQbV@;l z@JFG&aLPpRKPm>OD#Zyic)BeTnkz(Kh)i zbT)&`DFqQ-M`XmN^5(T*z+U(iu$p_ulF9%2@XIf2fx3=*xG@hPx)R8*7y^Jd)YYgP z!qp)i0G3<4lRC{Bv`luFVCfr}U~Dif`)+I&{*cpm`NXq%qDfNuw~=UQLsO#_mL(O& zYYIq|!<2n9T-$O6vIRh%QV`KoZ`v|7$MR;Gbsxk90;yO!?4I-X?v2xX#cSUJ{+76P z=n20~{ip+AG!%!9Di~FM#cZDRE5j6RNV4dz2edzrdE9QV>mUVNc2u1=E)0*n`2wO>1vPv7bY^ zS>4ps2E?uhXu0q{xiKrMBI@TMfsQfAAMLa}^+5othBX0musO zK8mJ*IqwF@W_5nWMT$qiy{;}SmRrBn)&a$~RMULcFpc{xLEpG>&mIICCevH?>=|m@ z`NY>Vs(k}=?RW4QEw{8u_ENeje7T`PZt^Oa09PErAr}-$VpuU#M!Cr7vOT{BkCvS~ zU$QLrB37ZEn>Ns;*-aYyk+hb1ia{3!8yaeDQTPCu$vOCjX_Z-3%TK;=77cd>F32?tzQj1AAV(HhkYk0-|i zNu$6%hT!gE>Y89G2_iGfc*oRo4hcP2@ckdkSY|IRH8;^x#($er9*?67CE0rw!dO*q zIWZjdD#;J}{DBRaJ$Wd_EX(e90y(X&;xxYw*<>)YQn_8uVngXiHK%a>dK3&Ky(Y)?e*r z%zg;&MvNqo5*=wUX6$&2syZNIAXmeq$oXKjdakKk!~%KCs8n~@yr^iqvvJq1|8?s; zb@94zf7cZs4te+;ieLWPk*;+&_FjG^9R)aP>2H6VfYbd*+Om&O_^ni;3G`zdv#z>2 z?a9}pw7NNaKZ;9BBB}(T-*1jKx8D?PZM~wVrKP!4M{{}KIM92)W||LTyLObM5KCFr zboL7C?lvNkNHrpf?|{|J85AfU^*VnjggtCIL2+~;BzO!l&)k6-4X-uAF7|TeA-^o% zh%M(0QAPO|(Y7}BtXh?mb}Jp*2dCvQT(Gi3ARqEWkx&iXtO6e#Z7&Yi*GH*w(P^Lo zVas(nlcj&Qx$+Bq9*eYe{2l7&bXM7(rxlXkYuWk4ow}~SKdqbp0SEZUY0Vm=YGN?D z8cNMQ3vr?{=Y~SDT5?ooNi=*^Qq!tQ`&uXMTd~3ebT5RT7fixkfs2JLC3YPGTke&D zSG)BV@7+7bvCS?&P2{-S!dXlbI(_~T;F4R?6!(;*;Cj&G1^$lPf%7DhMFPqmNCqUu zIty{OC6;P^6XEn8r*IyBFkoBQz3u4(t5ywoxX-gcHaOxm7wvP=OKx&-3?XzyLXp{| zklGT5pzHB@#Iuk+MDMok+o#{Kdi@JAK^qB6(xMEknt`#vf-gdgzaLn$el69bg!b>E z^4SvASrHEUUWkt~4V7KlWuo;KYFiq_e9B+~h9H8F=M7vD!#LacawR|#$uqmV`}0XN zo7dZXiVvFkb3GpKTrNw}h5}*zYHW%~KW!npcOu5{fnj4${UY&`DcigR2Se|~C4=)L ziV^|sWvH^ug$==mvf(+RM~PJPIbKg#5k(HQH2KmgU<4xMbk50fG@)9oYnUujG~)|% zZd#@yBG{eKYl=I)Bwg(^Wo6pr7a{cL!R~v_P}fzf8h8A%o66q0e_IldP0)dRB+=W3 z;Am6K(9S_%_e!j))kNK#GPcyDY@*1|GFj#`d`o6KI(DwSPIf{P34O`AeO-0S;*XZ? zd9H;vYr;}1;3EJ;-6bXPZI6_^({Pf19zq5MyN*@o0!;W<-U2pah062p;lE%3v zs%ztbM8pmerz;N*b*nZ#{K4XcN;H4Z;^U#UYs583(GVsAbp!O*#NEd_Vn1H@$7{jBZ zqY1RY_-&kN+h;44@6Vui1O9$TR^c7@2qp$ps3`g32$l1Kk- z`<9>GIT_p*lDhOGE?ZaQ1hOubZ!C%og8)2;^FrDR7N$ujb3XhQv?twY+59R`O{fzf z%$<%XG90$uD+r^HgP;Z<@t7@0xb-oqa!4EQw+&$hzLuMPhZ(y5Wm^Mq;`bqP1HT!* zh|Ov}qIfAqfN*SD1Kn2xjeD+T*sa%htsT8{$Cjb=~MxXm?NQM~VrNZw0_HPvxn2uzv`S(I?t zZ(ND210tR{eKliX#-JrI4Ie7bCEC@zl*$a_tSIVEHWeaIPX0V3C`WQy229Q;!3ZG8 z%sP}v#498cf@xYW!MY+4z=A{v5-vO)pBOhi0e?AVK3P{lESe8=?%LJs^3c0_ogY_G z4nP9WBqy5^)Fpg9a{`*=s9Vo@ig2#VUtoivV$4Hx&To5lcw>qp;=pB9q4(H>QEZ!TK6{4J|BVu@2GSl zDcq{2ClaO^$ggDy=FzdC-d=h~IuREu_*c1U20^eKy?h!cl{Yz;<44kmvP3i>*Nus! zEtC_8z$GL8qgX8dzIq=nGfV;f%I*s*FgC{&H#DNpWF;->7hQHlpF~>!QyvqE0^@88Omy&7Z`N60v03^aCPi1x>zm zO5V6XxGr+GEc*7siXuqhCZ_%5tWM74n)J&FBd0zevC>4frP>ZfgxHR{6P}EVWg*I?rPt_E^TqJUl(n@#KmXzBa#qHRsB;IF`Kz zCObG=%omrWgb(8O?z4#r3a@3EAj4=qJ*pjAEgTbQk3PFARskTDG=Xk6z6}eVyUeA(a+!t9EJ@k+V$w8vroJYdO8`^6oh#kP?4G-MK8~%H0=l;1id^%v)?W8S!@cNE(KG?~wtcADqqxB())c@J}5VJYz16 zW!>EqI5V6e$9qz0-IBs5m4yM|la{XDGdLt3Q&rfWJSjxE$;?}0vBS4~n@E!SVz%W|p_B2r!(>4wa@joV$61~d-1OmAHdEc1Xvr!lea&Dp=;)ePeir4r^!y@xz!BCJHa1;@?Ca~s` z$PoCT`#A3XZOWum4;?*jy_`%bI2n{l2j)OQ4ifkx7mQDg^z}WDW>bvhb(E{0_wKaG zRyB9L71s7)ToyfNI*{;*tPtYat%^5uWo^{BCK!rzz;~e_0WigfK%E>Ofri@-xl5lz zD0z5%Jid8!Oc>BL|F~`-+C@J`%}WFzf+L7aelmXK5Z$aO3Lv#8XqQLgw8>UAHZEq8 z|JyhvdVfBU#Go@OfQcZ3jgx+%R#9TD0bhEV&*wSM=c`q+<4$3ten>YG2QymyKr-nY zNT;K?WoA<_7Brko@A(6!BOgS4cH;8s7x4ojiqw=9^3xtf8XWFR*DFf!6Ij}JI}GP7 zZz?A+DH4M+Y|FXj!J72qY~39kIX2kNP$(mXL}+iQ|iSu6&kEQJS-~c_WJ%uHh|`J)Y&v;-AM)d9KJoR07bF%w~b3a@#U? z;qxv0hUS@xqetoTefiMNG@@@d5MB1AaJVHbRq+Pf;(rCJ@g78E-kAf`tySU)rx`9g zdk)KbE6%I`$1;rG#J~XULg<`+-s#N>V%|XO1EFTgE6Q?+Yu1@Im*0lp6?NjAp-`F- zLWl4jgT;LYr(3UBk~y9jG!aBNM!zbZRqy3>I3xT20K|eZ(dI$M|M#r;HhXxOtSkjm zE0VZ^o)*3=Ah3YI0s;#NEFiFezybmb2rMA5fWQI*Zwdtd4}qgpkTAERu>b%707*qo IM6N<$g04MS6aWAK diff --git a/Example/Media.xcassets/type.imageset/Contents.json b/Example/Media.xcassets/type.imageset/Contents.json deleted file mode 100644 index 7599749..0000000 --- a/Example/Media.xcassets/type.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "type.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "type@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "type@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/type.imageset/type.png b/Example/Media.xcassets/type.imageset/type.png deleted file mode 100644 index 346ec2785f24e6b8b0d3cc30b2c5be9eab64a3a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 850 zcmV-Y1FigtP)Px#32;bRa{vGqB>(^xB>_oNB=7(L0{2NoK~zW$?NvQb6hRn%XLk0>10xc&FWTDNnVemn3%y<13y?3LQoI~BwR5G`JC3Tudn|E zh8SZUnC}x46V>(t3-_%0x%ztW;@};$jS%nvqenP8#OvW`_wsVBM_Xy<*Up>Dc;#+; zu)@j&7mpgh8_$9yICP2XvM-M)kVj#}fUjrvxk*+TS~qQ)=9MrEr4+JhkfD+=$@DqQ ziBrP@juOUW?pT(^qbT}@mcG@XEKlsm!@l!oFRLRKMTfZ#mW)y7IA7socx!^}IN9PRd}$knP&Y}?kU1Eah*3eveQ!TP)Px#32;bRa{vGqB>(^xB>_oNB=7(L1mj6WK~!i3?OM-o8$}eJnca2l;FgF(BP9yz zsTaF;Q6$8{2MUcq`~{r2Ko0x^9FgD#;>fLsNIg}ALr+PifO_G85J8H6T;PIK2`NR; zGdreBXO-=FRL*7%QakK;ePH1BC}(0uS&kZ9M26 zd}uN2H9zu|Nxvnl#3L5{+pIV5nzWmyYfrmrde0X27f#8!CIVs9)OKtZ_`&aJ^#3$W zl0=f>m)W+>gf-nj(hb9q4ckZ~Z_H56G-4V{2*JF-`_l@oL#0%rb)0h$+Lm6!(>jVTcB^xOLKMwVqC6 z-0SsDNH-5j)hmV*@ANvK*_M3^^C3zif~>{_6DyZ$wtF*EC?iWp~{cX;Ow44+$`=OqH$%w|y(F*qSE z;e6owvn3WdKlTVi$)iMZ$vgv<#WknZ*T9_a=9$3)#{jM`u#pX zTbC!Xq`s3lP#u;Fxv{bFWVFqgVU+#a-S&^zHLS=`o*EV}raW?m5{nl$5Wo~e@tLKp zGI*Y5T44*0>G4;i-gtL3Tb`R^$Y$3Z$61ZAE!9HVj!AZeec%#hvWpN}?>yf-!s4++ z+chngjpaeHs=n6c3yon7MNQwN^@R+DbN(^xK3v zY8Y|yegE%zt^Pd>N_;Aq=<(g%U56q1Nu-6G(>Mh9L@aQNIVKULb`$Eys*}d>n8F+{ z(sG$-*w)ros3P^1`^?=$n*9VJ?^;&!26Y~G5jJrkF2sqr5ywf`=jNDJ+}_@f@ZHtd z?OywxSx>}TH;cw^&yCEK6_Bqpu=j^YC((7)8Xg^yWPJDk6q=^La1EGXrVDA$7#C0~mew z!TV;MLgX)mL0GYz;h?J%%XEfuIt-D&;?Np{ zm(DP>3cTPR4)HoTaiKmqfXtsI&Z5t_9%699By8d^qsi%Qqj|HxzuzcV%D3^D{wDQ+ z$BNUA^7upV>hXr^7kA)puCK4R)8ZI2d(eAOy~3`%k3+h*aM0(3Y;@|Sg`KTO=WW2i z{~w5-AF)UGZ`N-1XSXUe3J(+>C_GSj;3f0Gf8oaU{8Y83rT_o{07*qoM6N<$f*^*S Ak^lez diff --git a/Example/Media.xcassets/type.imageset/type@3x.png b/Example/Media.xcassets/type.imageset/type@3x.png deleted file mode 100644 index 978111571ebd00f51f6d6e531441c7c7934be410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2057 zcmai#SvVVr8io^X?ZIeqw4v5PZM77|)L3GPtu@lcQj{*Xs>Gf~Fl}wE5Ve*d2O&yC zY3YIyrrO$KCw56h1dWbpEpf~_H|JcPi|>D*@4xt;|L#q{?B)OxJuM0V06!7uC4To# zIe*%+u0^!!`qiQb~dk8~zZ*oF|wO&Iq z)JdosW4zsY11%4b^iWN$Yna~DI~w|cKR{cSj@@CJAPQi2lxH>u`XUlL2Kxr~nWpao zTokcMYDyxG0{;!Qyrkif9zCB{e{l(k_UCQ{Uuv{mCL}sBkX(T#ECm)SB0l~ilyp7VB8KBHwjFF(9y1Ur>?576FE3D z=Ci6S_p@mE4DnX8xKk;~xQ5k;Q6BiCuDb-Xnn1w#`_S)uy4dM;uUBmGt>I4m?X?Mc z076&I6Re5eTpH@J2>e{Q{w0K7P={AazQ%7KE_wyOyJ&{K4u`(~9ZS&il1D0Q!ESmXuKnhst93ozn5AQm3ws^saa@RGn`Mq!taRT{so7PPSqA2^**+JEPU zfgeX1X=60zlm^P7q7LWyq$}p5 zhtA~ZsY%IVWl!hJYU&1fK}pVZrSgjDJ_-62Dzu~H!Qn|uUQfT5pqox zug0M3i3JyvW0(+n4fI0Wakr&9q_3%7==*Gyfo`_YRMNWm37>(b=aMQiDMR8V{^lUd zg}EW=Pf3`(XP@P+n^~I%_t?cOU^v2$9UCcGLpF54h~K1jt)p!|>tO&R7v6Cza4Msw z?P3N*$?j3Xa~?0oKHz8b-WRc9sWPHer1L0|#T$b=0bzBi;WTlIXOK|Ee)Cv)m9b7| znM7`st53-7A1ldH5i_j;F|n~_j}ARIGH`6=I1(tZ^kKE-T%h7$R^#05O3>?kzdb>*X{{dE=TNWj6wyeLCUvQ$)e(X& zM-sg$$6~XG_jY$(9xV+5ve8J2zV#!I6W%QvB;R(PQOulxcerhZte<}>)#B@TvUulv zF_f)xmz$Tn-%T%{-R)1g8ZgPnt;cJ@!a0WH_mj%3&~s~>o1`gw_xn zX@oE`i4s4{(G~^bQ9B#6(iq*vk%+o_WY$`))CuF8tYxs0cSUx=SzebKekuG(_cJ6g zVd4Yq^*_U=M=rt0IW!Z!G=f_xy!x;h*H2;$DyQ90^dWm0oM&K^Bpi@B(K4NT(9Tb}lI?;S5AG27q+x^fL{sgZLln zev{38G-mOSu?pMNt08~!{9|WD(zXzobhT{%UG&!%tdctH=^p8LXpASPc6uT$d`9YI zFv{jR_UQHF6NSCLlCs5xQ-3)Z=rJ0*7WKx7Pct(!>AtMV6(%k|KI)`k&Ul4?;U79X z19N|Tur2)773g4Dd_h_AFL?PpAf>UWF&a@4^4P{sj6g0opTULBe@$=z_Y_}wax3M5 zpP~vNxileCwdj1>1$)}55Ga20dL(}BPe4f6qPffj*k|lRVUe00aQ&PzG)+KQSV|d* zf25g|1o){*D-va*YOmEfN=zGNCUNdq5HDVIzqQkymnU;3XX!Dt z{9ACe=t$&jI;Qg)nbBKo6WWw>sZwq=74?*TSGCe=%9__bre@MjrBb7t7Z|RMK$jbBHYfU!8B!Aj9&YmW=kuR(d!NlLPit)-f=~% z%Umwk0)aq~=b4jDJ#j9hwY9aT+|z%?4Q}8lb#-+#{^oJK7i41Fu(Qg+8NCqAenp{B z(D$q4Jbb;Mu(Y4*uLyxC|IqX5*&&nm%wMYqbJAzuw)-S^d@r}tU0ALvYR2)aJkPm; zK%oB2Y<=-t5czHPSlzo8lX~A*&6CUZ!jzOCGxIs34`NGIRTY!1h!hvc>TWvyj~V~% e$!r&a!(-f~=@+weU*wN;4se3F*)`bsr~C_~68b#= diff --git a/Example/Media.xcassets/type_highlighted.imageset/Contents.json b/Example/Media.xcassets/type_highlighted.imageset/Contents.json deleted file mode 100644 index b8cd512..0000000 --- a/Example/Media.xcassets/type_highlighted.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "type_highlighted.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "type_highlighted@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "type_highlighted@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Media.xcassets/type_highlighted.imageset/type_highlighted.png b/Example/Media.xcassets/type_highlighted.imageset/type_highlighted.png deleted file mode 100644 index e863137036d7e538b48137844310b8ed90391df9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 550 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 iUQpXcBJ0000