From 929996c8490899b2084b1250399ea88a1eaaaee0 Mon Sep 17 00:00:00 2001 From: Klevison Matias Date: Wed, 24 Jun 2015 23:18:26 -0300 Subject: [PATCH 01/11] New branch - new example projetc (iOS 8.3 and storyboard) - minor refact --- .../Header/KMSectionHeaderView.h | 0 .../Header/KMSectionHeaderView.m | 0 .../Header/KMSectionHeaderView.xib | 87 +-- .../Classes => Classes}/Model/KMAppearence.h | 3 +- .../Classes => Classes}/Model/KMAppearence.m | 0 .../Classes => Classes}/Model/KMSection.h | 2 +- .../Classes => Classes}/Model/KMSection.m | 0 .../KMAccordionTableViewController.h | 10 +- .../KMAccordionTableViewController.m | 118 ++-- .../project.pbxproj | 504 +++++++++++++++ .../contents.xcworkspacedata | 0 .../AppDelegate.h | 17 + .../AppDelegate.m | 26 +- .../Base.lproj/LaunchScreen.xib | 41 ++ .../Base.lproj/Main.storyboard | 26 + .../AppIcon.appiconset/Contents.json | 15 + .../KMAccordionTableViewController/Info.plist | 40 ++ .../MyViewController.h | 0 .../MyViewController.m | 47 +- .../carat-open.png | Bin .../KMAccordionTableViewController}/carat.png | Bin .../KMAccordionTableViewController/main.m | 16 + .../Info.plist | 24 + .../KMAccordionTableViewControllerTests.m | 15 +- KMAccordionTableViewController.podspec | 27 - .../project.pbxproj | 591 ------------------ .../contents.xcworkspacedata | 10 - .../LaunchImage.launchimage/Contents.json | 23 - .../KMAccordionTableViewController-Info.plist | 38 -- .../KMAccordionTableViewController-Prefix.pch | 18 - .../KMAppDelegate.h | 15 - .../Resources/Skype_Email.png | Bin 448 -> 0 bytes .../Resources/facebook_email.png | Bin 404 -> 0 bytes .../Resources/linkdin_Email.png | Bin 414 -> 0 bytes .../en.lproj/InfoPlist.strings | 2 - KMAccordionTableViewController/main.m | 15 - ...cordionTableViewControllerTests-Info.plist | 22 - .../en.lproj/InfoPlist.strings | 2 - Podfile | 3 - Podfile.lock | 10 - 40 files changed, 872 insertions(+), 895 deletions(-) rename {KMAccordionTableViewController/Classes => Classes}/Header/KMSectionHeaderView.h (100%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/Header/KMSectionHeaderView.m (100%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/Header/KMSectionHeaderView.xib (54%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/Model/KMAppearence.h (93%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/Model/KMAppearence.m (100%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/Model/KMSection.h (93%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/Model/KMSection.m (100%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/ViewController/KMAccordionTableViewController.h (88%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes => Classes}/ViewController/KMAccordionTableViewController.m (81%) mode change 100644 => 100755 create mode 100644 Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj rename {KMAccordionTableViewController.xcodeproj => Examlple/KMAccordionTableViewController.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) create mode 100644 Examlple/KMAccordionTableViewController/AppDelegate.h rename KMAccordionTableViewController/KMAppDelegate.m => Examlple/KMAccordionTableViewController/AppDelegate.m (71%) create mode 100644 Examlple/KMAccordionTableViewController/Base.lproj/LaunchScreen.xib create mode 100644 Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard rename {KMAccordionTableViewController => Examlple/KMAccordionTableViewController}/Images.xcassets/AppIcon.appiconset/Contents.json (56%) create mode 100644 Examlple/KMAccordionTableViewController/Info.plist rename {KMAccordionTableViewController/Classes/ViewController => Examlple/KMAccordionTableViewController}/MyViewController.h (100%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Classes/ViewController => Examlple/KMAccordionTableViewController}/MyViewController.m (82%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Resources => Examlple/KMAccordionTableViewController}/carat-open.png (100%) mode change 100644 => 100755 rename {KMAccordionTableViewController/Resources => Examlple/KMAccordionTableViewController}/carat.png (100%) mode change 100644 => 100755 create mode 100644 Examlple/KMAccordionTableViewController/main.m create mode 100644 Examlple/KMAccordionTableViewControllerTests/Info.plist rename {KMAccordionTableViewControllerTests => Examlple/KMAccordionTableViewControllerTests}/KMAccordionTableViewControllerTests.m (59%) delete mode 100644 KMAccordionTableViewController.podspec delete mode 100644 KMAccordionTableViewController.xcodeproj/project.pbxproj delete mode 100644 KMAccordionTableViewController.xcworkspace/contents.xcworkspacedata delete mode 100644 KMAccordionTableViewController/Images.xcassets/LaunchImage.launchimage/Contents.json delete mode 100644 KMAccordionTableViewController/KMAccordionTableViewController-Info.plist delete mode 100644 KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch delete mode 100644 KMAccordionTableViewController/KMAppDelegate.h delete mode 100644 KMAccordionTableViewController/Resources/Skype_Email.png delete mode 100644 KMAccordionTableViewController/Resources/facebook_email.png delete mode 100644 KMAccordionTableViewController/Resources/linkdin_Email.png delete mode 100644 KMAccordionTableViewController/en.lproj/InfoPlist.strings delete mode 100644 KMAccordionTableViewController/main.m delete mode 100644 KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests-Info.plist delete mode 100644 KMAccordionTableViewControllerTests/en.lproj/InfoPlist.strings delete mode 100644 Podfile delete mode 100644 Podfile.lock diff --git a/KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.h b/Classes/Header/KMSectionHeaderView.h old mode 100644 new mode 100755 similarity index 100% rename from KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.h rename to Classes/Header/KMSectionHeaderView.h diff --git a/KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.m b/Classes/Header/KMSectionHeaderView.m old mode 100644 new mode 100755 similarity index 100% rename from KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.m rename to Classes/Header/KMSectionHeaderView.m diff --git a/KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.xib b/Classes/Header/KMSectionHeaderView.xib old mode 100644 new mode 100755 similarity index 54% rename from KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.xib rename to Classes/Header/KMSectionHeaderView.xib index c33e095..93ce227 --- a/KMAccordionTableViewController/Classes/Header/KMSectionHeaderView.xib +++ b/Classes/Header/KMSectionHeaderView.xib @@ -1,7 +1,8 @@ - + - + + @@ -14,8 +15,18 @@ + + + + + + + - - - - - - + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -80,4 +78,9 @@ + + + + + diff --git a/KMAccordionTableViewController/Classes/Model/KMAppearence.h b/Classes/Model/KMAppearence.h old mode 100644 new mode 100755 similarity index 93% rename from KMAccordionTableViewController/Classes/Model/KMAppearence.h rename to Classes/Model/KMAppearence.h index 819b023..3193dae --- a/KMAccordionTableViewController/Classes/Model/KMAppearence.h +++ b/Classes/Model/KMAppearence.h @@ -2,8 +2,7 @@ // Created by Klevison Matias on 5/15/14. // -#import - +#import @interface KMAppearence : NSObject diff --git a/KMAccordionTableViewController/Classes/Model/KMAppearence.m b/Classes/Model/KMAppearence.m old mode 100644 new mode 100755 similarity index 100% rename from KMAccordionTableViewController/Classes/Model/KMAppearence.m rename to Classes/Model/KMAppearence.m diff --git a/KMAccordionTableViewController/Classes/Model/KMSection.h b/Classes/Model/KMSection.h old mode 100644 new mode 100755 similarity index 93% rename from KMAccordionTableViewController/Classes/Model/KMSection.h rename to Classes/Model/KMSection.h index a7a0ee0..b64b018 --- a/KMAccordionTableViewController/Classes/Model/KMSection.h +++ b/Classes/Model/KMSection.h @@ -6,7 +6,7 @@ // // -#import +#import @class KMSectionHeaderView; diff --git a/KMAccordionTableViewController/Classes/Model/KMSection.m b/Classes/Model/KMSection.m old mode 100644 new mode 100755 similarity index 100% rename from KMAccordionTableViewController/Classes/Model/KMSection.m rename to Classes/Model/KMSection.m diff --git a/KMAccordionTableViewController/Classes/ViewController/KMAccordionTableViewController.h b/Classes/ViewController/KMAccordionTableViewController.h old mode 100644 new mode 100755 similarity index 88% rename from KMAccordionTableViewController/Classes/ViewController/KMAccordionTableViewController.h rename to Classes/ViewController/KMAccordionTableViewController.h index 4a1437e..0ace1c6 --- a/KMAccordionTableViewController/Classes/ViewController/KMAccordionTableViewController.h +++ b/Classes/ViewController/KMAccordionTableViewController.h @@ -17,8 +17,10 @@ @protocol KMAccordionTableViewControllerDelegate -- (void)accordionTableViewControllerSectionDidOpened:(KMSection *)section; -- (void)accordionTableViewControllerSectionDidClosed:(KMSection *)section; +@optional + +- (void)accordionTableViewControllerSectionDidOpen:(KMSection *)section; +- (void)accordionTableViewControllerSectionDidClose:(KMSection *)section; @end @@ -32,6 +34,10 @@ - (CGFloat)accordionTableView:(KMAccordionTableViewController *)accordionTableView heightForSectionAtIndex:(NSInteger)index; +@optional + +- (UITableViewRowAnimation)accordionTableViewAnimation:(KMAccordionTableViewController *)accordionTableView; + @end diff --git a/KMAccordionTableViewController/Classes/ViewController/KMAccordionTableViewController.m b/Classes/ViewController/KMAccordionTableViewController.m old mode 100644 new mode 100755 similarity index 81% rename from KMAccordionTableViewController/Classes/ViewController/KMAccordionTableViewController.m rename to Classes/ViewController/KMAccordionTableViewController.m index 44ebc73..8997d0f --- a/KMAccordionTableViewController/Classes/ViewController/KMAccordionTableViewController.m +++ b/Classes/ViewController/KMAccordionTableViewController.m @@ -11,7 +11,8 @@ @interface KMAccordionTableViewController () -@property(nonatomic) NSInteger openSectionIndex; +@property (nonatomic) NSInteger openSectionIndex; +@property UITableViewRowAnimation animation; @end @@ -21,55 +22,73 @@ @implementation KMAccordionTableViewController static NSString *SectionCellID = @"CellIdentifier"; static bool oneSectionAlwaysOpen = NO; --(instancetype) initWithCoder:(NSCoder *)aDecoder { +-(instancetype) initWithCoder:(NSCoder *)aDecoder +{ self = [super initWithCoder:aDecoder]; if (self) { - self.sectionAppearence = [[KMAppearence alloc] init]; + [self setup]; } + return self; } -- (instancetype)init { +- (instancetype)init +{ self = [super init]; if (self) { - self.sectionAppearence = [[KMAppearence alloc] init]; + [self setup]; } + return self; } -- (void)viewDidLoad { - [super viewDidLoad]; +- (void)setup +{ + self.sectionAppearence = [KMAppearence new]; + self.animation = UITableViewRowAnimationFade; self.openSectionIndex = NSNotFound; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; [self setupTableView]; } #pragma mark - Appearence Methods -- (void)setHeaderHeight:(float)height { +- (void)setHeaderHeight:(float)height +{ [self.sectionAppearence setHeaderHeight:height]; } -- (void)setHeaderFont:(UIFont *)headerFont { +- (void)setHeaderFont:(UIFont *)headerFont +{ [self.sectionAppearence setHeaderFont:headerFont]; } -- (void)setHeaderTitleColor:(UIColor *)headerTitleColor { +- (void)setHeaderTitleColor:(UIColor *)headerTitleColor +{ [self.sectionAppearence setHeaderTitleColor:headerTitleColor]; } -- (void)setHeaderColor:(UIColor *)headerColor { +- (void)setHeaderColor:(UIColor *)headerColor +{ [self.sectionAppearence setHeaderColor:headerColor]; } -- (void)setHeaderSeparatorColor:(UIColor *)headerSeparatorColor { +- (void)setHeaderSeparatorColor:(UIColor *)headerSeparatorColor +{ [self.sectionAppearence setHeaderSeparatorColor:headerSeparatorColor]; } -- (void)setHeaderArrowImageOpened:(UIImage *)headerArrowImageOpened { +- (void)setHeaderArrowImageOpened:(UIImage *)headerArrowImageOpened +{ [self.sectionAppearence setHeaderArrowImageOpened:headerArrowImageOpened]; } -- (void)setHeaderArrowImageClosed:(UIImage *)headerArrowImageClosed { +- (void)setHeaderArrowImageClosed:(UIImage *)headerArrowImageClosed +{ [self.sectionAppearence setHeaderArrowImageClosed:headerArrowImageClosed]; } @@ -80,29 +99,34 @@ - (void)setOneSectionAlwaysOpen:(BOOL)isOpen #pragma mark - Class Methods -- (void)setupTableView { +- (void)setupTableView +{ UINib *sectionHeaderNib = [UINib nibWithNibName:NSStringFromClass([KMSectionHeaderView class]) bundle:nil]; [self.tableView registerNib:sectionHeaderNib forHeaderFooterViewReuseIdentifier:SectionHeaderViewIdentifier]; [self.tableView setBounces:NO]; [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; } -- (void)configureSectionsCell:(KMSection *)section { - NSString *CellIdentifier = [NSString stringWithFormat:@"%@%d", SectionCellID, section.sectionIndex]; +- (void)configureSectionsCell:(KMSection *)section +{ + NSString *CellIdentifier = [NSString stringWithFormat:@"%@%zd", SectionCellID, section.sectionIndex]; [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdentifier]; } - (KMSection *)getOpenedSection { - for (KMSection *section in self.sections) { + for (KMSection *section in self.sections) + { if (section.open) { return section; break; } } + return nil; } -- (void)reloadOpenedSection { +- (void)reloadOpenedSection +{ KMSection *openedSection = [self getOpenedSection]; NSArray *cellToReloadArray = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:openedSection.sectionIndex]]; [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:UITableViewRowAnimationNone]; @@ -110,23 +134,29 @@ - (void)reloadOpenedSection { #pragma mark - Table view data source -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ return [self.dataSource numberOfSectionsInAccordionTableViewController:self]; } -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ KMSection *currentSection = (self.sections)[section]; + return currentSection.open ? 1 : 0; } -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +{ CGFloat heightForRowAtIndexPath = [self.dataSource accordionTableView:self heightForSectionAtIndex:indexPath.section]; + return heightForRowAtIndexPath; } -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ - NSString *CellIdentifier = [NSString stringWithFormat:@"CellIdentifier%d", indexPath.section]; + NSString *CellIdentifier = [NSString stringWithFormat:@"CellIdentifier%zd", indexPath.section]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; @@ -144,11 +174,13 @@ - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSIntege return self.sectionAppearence.headerHeight; } -- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath { +- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath +{ return NO; } -- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionIndex { +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionIndex +{ KMSectionHeaderView *sectionHeaderView = (KMSectionHeaderView *) [self.tableView dequeueReusableHeaderFooterViewWithIdentifier:SectionHeaderViewIdentifier]; @@ -160,12 +192,15 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger [sectionHeaderView.imageView setImage:currentSection.image]; [sectionHeaderView setSection:sectionIndex]; [sectionHeaderView setDelegate:self]; + UIColor *tempcolor = self.sectionAppearence.headerColor; if (currentSection.colorForBackground) { [self.sectionAppearence setHeaderColor:currentSection.colorForBackground]; } + [sectionHeaderView setHeaderSectionAppearence:self.sectionAppearence]; [self.sectionAppearence setHeaderColor:tempcolor]; + if (currentSection.overHeaderView) { [sectionHeaderView addOverHeaderSubView:currentSection.overHeaderView]; } @@ -174,6 +209,7 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger if (oneSectionAlwaysOpen && (sectionIndex == 0)) { [self sectionHeaderView:sectionHeaderView sectionOpened:0]; } + return sectionHeaderView; } @@ -184,15 +220,20 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView selectedSecti KMSection *section = (self.sections)[sectionOpened]; + if ([self.dataSource respondsToSelector:@selector(accordionTableViewAnimation:)]) { + self.animation = [self.dataSource accordionTableViewAnimation:self]; + } + if (!section.open) { [self sectionHeaderView:sectionHeaderView sectionOpened:sectionOpened]; - }else if (!oneSectionAlwaysOpen) { + } else if (!oneSectionAlwaysOpen) { [self sectionHeaderView:sectionHeaderView sectionClosed:sectionOpened]; } } -- (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened:(NSInteger)sectionOpened { +- (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened:(NSInteger)sectionOpened +{ KMSection *section = (self.sections)[sectionOpened]; @@ -209,15 +250,15 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened KMSection *previousOpenSection = (self.sections)[previousOpenSectionIndex]; previousOpenSection.open = NO; [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:0 inSection:previousOpenSectionIndex]]; - if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidClosed:)]) { + if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidClose:)]) { KMSection *previuosSection = (self.sections)[previousOpenSectionIndex]; - [self.delegate accordionTableViewControllerSectionDidClosed:previuosSection]; + [self.delegate accordionTableViewControllerSectionDidClose:previuosSection]; } } [self.tableView beginUpdates]; - [self.tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:UITableViewRowAnimationFade]; - [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:UITableViewRowAnimationFade]; + [self.tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:self.animation]; + [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.animation]; [self.tableView endUpdates]; CGRect sectionRect = [self.tableView rectForSection:sectionOpened]; @@ -225,12 +266,13 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened self.openSectionIndex = sectionOpened; - if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidOpened:)]) { - [self.delegate accordionTableViewControllerSectionDidOpened:section]; + if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidOpen:)]) { + [self.delegate accordionTableViewControllerSectionDidOpen:section]; } } -- (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed:(NSInteger)sectionClosed { +- (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed:(NSInteger)sectionClosed +{ KMSection *currentSection = (self.sections)[sectionClosed]; @@ -240,13 +282,13 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed if (countOfRowsToDelete > 0) { NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init]; [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:0 inSection:sectionClosed]]; - [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:UITableViewRowAnimationFade]; + [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.animation]; } self.openSectionIndex = NSNotFound; - if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidClosed:)]) { - [self.delegate accordionTableViewControllerSectionDidClosed:currentSection]; + if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidClose:)]) { + [self.delegate accordionTableViewControllerSectionDidClose:currentSection]; } } diff --git a/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj b/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj new file mode 100644 index 0000000..9b854eb --- /dev/null +++ b/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj @@ -0,0 +1,504 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + BE1BDE751B3B965F00C7E15F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE741B3B965F00C7E15F /* main.m */; }; + BE1BDE781B3B965F00C7E15F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE771B3B965F00C7E15F /* AppDelegate.m */; }; + BE1BDE7E1B3B965F00C7E15F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE7C1B3B965F00C7E15F /* Main.storyboard */; }; + BE1BDE801B3B965F00C7E15F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE7F1B3B965F00C7E15F /* Images.xcassets */; }; + BE1BDE831B3B965F00C7E15F /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE811B3B965F00C7E15F /* LaunchScreen.xib */; }; + BE1BDE8F1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE8E1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m */; }; + BE1BDE9A1B3B96BE00C7E15F /* MyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE991B3B96BE00C7E15F /* MyViewController.m */; }; + BE1BDEA81B3B96CD00C7E15F /* KMSectionHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE9E1B3B96CD00C7E15F /* KMSectionHeaderView.m */; }; + BE1BDEA91B3B96CD00C7E15F /* KMSectionHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE9F1B3B96CD00C7E15F /* KMSectionHeaderView.xib */; }; + BE1BDEAA1B3B96CD00C7E15F /* KMAppearence.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA21B3B96CD00C7E15F /* KMAppearence.m */; }; + BE1BDEAB1B3B96CD00C7E15F /* KMSection.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA41B3B96CD00C7E15F /* KMSection.m */; }; + BE1BDEAC1B3B96CD00C7E15F /* KMAccordionTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA71B3B96CD00C7E15F /* KMAccordionTableViewController.m */; }; + BE1BDEAF1B3B978800C7E15F /* carat-open.png in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDEAD1B3B978800C7E15F /* carat-open.png */; }; + BE1BDEB01B3B978800C7E15F /* carat.png in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDEAE1B3B978800C7E15F /* carat.png */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + BE1BDE891B3B966000C7E15F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BE1BDE671B3B965F00C7E15F /* Project object */; + proxyType = 1; + remoteGlobalIDString = BE1BDE6E1B3B965F00C7E15F; + remoteInfo = KMAccordionTableViewController; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + BE1BDE6F1B3B965F00C7E15F /* KMAccordionTableViewController.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KMAccordionTableViewController.app; sourceTree = BUILT_PRODUCTS_DIR; }; + BE1BDE731B3B965F00C7E15F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BE1BDE741B3B965F00C7E15F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + BE1BDE761B3B965F00C7E15F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + BE1BDE771B3B965F00C7E15F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + BE1BDE7D1B3B965F00C7E15F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + BE1BDE7F1B3B965F00C7E15F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + BE1BDE821B3B965F00C7E15F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + BE1BDE881B3B966000C7E15F /* KMAccordionTableViewControllerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KMAccordionTableViewControllerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + BE1BDE8D1B3B966000C7E15F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BE1BDE8E1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KMAccordionTableViewControllerTests.m; sourceTree = ""; }; + BE1BDE981B3B96BE00C7E15F /* MyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyViewController.h; sourceTree = ""; }; + BE1BDE991B3B96BE00C7E15F /* MyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyViewController.m; sourceTree = ""; }; + BE1BDE9D1B3B96CD00C7E15F /* KMSectionHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSectionHeaderView.h; sourceTree = ""; }; + BE1BDE9E1B3B96CD00C7E15F /* KMSectionHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSectionHeaderView.m; sourceTree = ""; }; + BE1BDE9F1B3B96CD00C7E15F /* KMSectionHeaderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMSectionHeaderView.xib; sourceTree = ""; }; + BE1BDEA11B3B96CD00C7E15F /* KMAppearence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAppearence.h; sourceTree = ""; }; + BE1BDEA21B3B96CD00C7E15F /* KMAppearence.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAppearence.m; sourceTree = ""; }; + BE1BDEA31B3B96CD00C7E15F /* KMSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSection.h; sourceTree = ""; }; + BE1BDEA41B3B96CD00C7E15F /* KMSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSection.m; sourceTree = ""; }; + BE1BDEA61B3B96CD00C7E15F /* KMAccordionTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAccordionTableViewController.h; sourceTree = ""; }; + BE1BDEA71B3B96CD00C7E15F /* KMAccordionTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAccordionTableViewController.m; sourceTree = ""; }; + BE1BDEAD1B3B978800C7E15F /* carat-open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "carat-open.png"; sourceTree = ""; }; + BE1BDEAE1B3B978800C7E15F /* carat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = carat.png; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + BE1BDE6C1B3B965F00C7E15F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BE1BDE851B3B966000C7E15F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + BE1BDE661B3B965F00C7E15F = { + isa = PBXGroup; + children = ( + BE1BDE711B3B965F00C7E15F /* KMAccordionTableViewController */, + BE1BDE8B1B3B966000C7E15F /* KMAccordionTableViewControllerTests */, + BE1BDE701B3B965F00C7E15F /* Products */, + ); + sourceTree = ""; + }; + BE1BDE701B3B965F00C7E15F /* Products */ = { + isa = PBXGroup; + children = ( + BE1BDE6F1B3B965F00C7E15F /* KMAccordionTableViewController.app */, + BE1BDE881B3B966000C7E15F /* KMAccordionTableViewControllerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + BE1BDE711B3B965F00C7E15F /* KMAccordionTableViewController */ = { + isa = PBXGroup; + children = ( + BE1BDE9B1B3B96CC00C7E15F /* Classes */, + BE1BDEAD1B3B978800C7E15F /* carat-open.png */, + BE1BDEAE1B3B978800C7E15F /* carat.png */, + BE1BDE981B3B96BE00C7E15F /* MyViewController.h */, + BE1BDE991B3B96BE00C7E15F /* MyViewController.m */, + BE1BDE761B3B965F00C7E15F /* AppDelegate.h */, + BE1BDE771B3B965F00C7E15F /* AppDelegate.m */, + BE1BDE7C1B3B965F00C7E15F /* Main.storyboard */, + BE1BDE7F1B3B965F00C7E15F /* Images.xcassets */, + BE1BDE811B3B965F00C7E15F /* LaunchScreen.xib */, + BE1BDE721B3B965F00C7E15F /* Supporting Files */, + ); + path = KMAccordionTableViewController; + sourceTree = ""; + }; + BE1BDE721B3B965F00C7E15F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + BE1BDE731B3B965F00C7E15F /* Info.plist */, + BE1BDE741B3B965F00C7E15F /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + BE1BDE8B1B3B966000C7E15F /* KMAccordionTableViewControllerTests */ = { + isa = PBXGroup; + children = ( + BE1BDE8E1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m */, + BE1BDE8C1B3B966000C7E15F /* Supporting Files */, + ); + path = KMAccordionTableViewControllerTests; + sourceTree = ""; + }; + BE1BDE8C1B3B966000C7E15F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + BE1BDE8D1B3B966000C7E15F /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + BE1BDE9B1B3B96CC00C7E15F /* Classes */ = { + isa = PBXGroup; + children = ( + BE1BDE9C1B3B96CC00C7E15F /* Header */, + BE1BDEA01B3B96CD00C7E15F /* Model */, + BE1BDEA51B3B96CD00C7E15F /* ViewController */, + ); + name = Classes; + path = ../../Classes; + sourceTree = ""; + }; + BE1BDE9C1B3B96CC00C7E15F /* Header */ = { + isa = PBXGroup; + children = ( + BE1BDE9D1B3B96CD00C7E15F /* KMSectionHeaderView.h */, + BE1BDE9E1B3B96CD00C7E15F /* KMSectionHeaderView.m */, + BE1BDE9F1B3B96CD00C7E15F /* KMSectionHeaderView.xib */, + ); + path = Header; + sourceTree = ""; + }; + BE1BDEA01B3B96CD00C7E15F /* Model */ = { + isa = PBXGroup; + children = ( + BE1BDEA11B3B96CD00C7E15F /* KMAppearence.h */, + BE1BDEA21B3B96CD00C7E15F /* KMAppearence.m */, + BE1BDEA31B3B96CD00C7E15F /* KMSection.h */, + BE1BDEA41B3B96CD00C7E15F /* KMSection.m */, + ); + path = Model; + sourceTree = ""; + }; + BE1BDEA51B3B96CD00C7E15F /* ViewController */ = { + isa = PBXGroup; + children = ( + BE1BDEA61B3B96CD00C7E15F /* KMAccordionTableViewController.h */, + BE1BDEA71B3B96CD00C7E15F /* KMAccordionTableViewController.m */, + ); + path = ViewController; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + BE1BDE6E1B3B965F00C7E15F /* KMAccordionTableViewController */ = { + isa = PBXNativeTarget; + buildConfigurationList = BE1BDE921B3B966000C7E15F /* Build configuration list for PBXNativeTarget "KMAccordionTableViewController" */; + buildPhases = ( + BE1BDE6B1B3B965F00C7E15F /* Sources */, + BE1BDE6C1B3B965F00C7E15F /* Frameworks */, + BE1BDE6D1B3B965F00C7E15F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = KMAccordionTableViewController; + productName = KMAccordionTableViewController; + productReference = BE1BDE6F1B3B965F00C7E15F /* KMAccordionTableViewController.app */; + productType = "com.apple.product-type.application"; + }; + BE1BDE871B3B966000C7E15F /* KMAccordionTableViewControllerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = BE1BDE951B3B966000C7E15F /* Build configuration list for PBXNativeTarget "KMAccordionTableViewControllerTests" */; + buildPhases = ( + BE1BDE841B3B966000C7E15F /* Sources */, + BE1BDE851B3B966000C7E15F /* Frameworks */, + BE1BDE861B3B966000C7E15F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + BE1BDE8A1B3B966000C7E15F /* PBXTargetDependency */, + ); + name = KMAccordionTableViewControllerTests; + productName = KMAccordionTableViewControllerTests; + productReference = BE1BDE881B3B966000C7E15F /* KMAccordionTableViewControllerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BE1BDE671B3B965F00C7E15F /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0630; + ORGANIZATIONNAME = KM; + TargetAttributes = { + BE1BDE6E1B3B965F00C7E15F = { + CreatedOnToolsVersion = 6.3.2; + }; + BE1BDE871B3B966000C7E15F = { + CreatedOnToolsVersion = 6.3.2; + TestTargetID = BE1BDE6E1B3B965F00C7E15F; + }; + }; + }; + buildConfigurationList = BE1BDE6A1B3B965F00C7E15F /* Build configuration list for PBXProject "KMAccordionTableViewController" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = BE1BDE661B3B965F00C7E15F; + productRefGroup = BE1BDE701B3B965F00C7E15F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + BE1BDE6E1B3B965F00C7E15F /* KMAccordionTableViewController */, + BE1BDE871B3B966000C7E15F /* KMAccordionTableViewControllerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + BE1BDE6D1B3B965F00C7E15F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BE1BDE7E1B3B965F00C7E15F /* Main.storyboard in Resources */, + BE1BDEB01B3B978800C7E15F /* carat.png in Resources */, + BE1BDEA91B3B96CD00C7E15F /* KMSectionHeaderView.xib in Resources */, + BE1BDE831B3B965F00C7E15F /* LaunchScreen.xib in Resources */, + BE1BDEAF1B3B978800C7E15F /* carat-open.png in Resources */, + BE1BDE801B3B965F00C7E15F /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BE1BDE861B3B966000C7E15F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + BE1BDE6B1B3B965F00C7E15F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BE1BDE9A1B3B96BE00C7E15F /* MyViewController.m in Sources */, + BE1BDEA81B3B96CD00C7E15F /* KMSectionHeaderView.m in Sources */, + BE1BDEAC1B3B96CD00C7E15F /* KMAccordionTableViewController.m in Sources */, + BE1BDE781B3B965F00C7E15F /* AppDelegate.m in Sources */, + BE1BDEAB1B3B96CD00C7E15F /* KMSection.m in Sources */, + BE1BDE751B3B965F00C7E15F /* main.m in Sources */, + BE1BDEAA1B3B96CD00C7E15F /* KMAppearence.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BE1BDE841B3B966000C7E15F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BE1BDE8F1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + BE1BDE8A1B3B966000C7E15F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BE1BDE6E1B3B965F00C7E15F /* KMAccordionTableViewController */; + targetProxy = BE1BDE891B3B966000C7E15F /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + BE1BDE7C1B3B965F00C7E15F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + BE1BDE7D1B3B965F00C7E15F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + BE1BDE811B3B965F00C7E15F /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + BE1BDE821B3B965F00C7E15F /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + BE1BDE901B3B966000C7E15F /* Debug */ = { + 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_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + BE1BDE911B3B966000C7E15F /* 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_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + BE1BDE931B3B966000C7E15F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = KMAccordionTableViewController/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + BE1BDE941B3B966000C7E15F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = KMAccordionTableViewController/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + BE1BDE961B3B966000C7E15F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = KMAccordionTableViewControllerTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KMAccordionTableViewController.app/KMAccordionTableViewController"; + }; + name = Debug; + }; + BE1BDE971B3B966000C7E15F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = KMAccordionTableViewControllerTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KMAccordionTableViewController.app/KMAccordionTableViewController"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + BE1BDE6A1B3B965F00C7E15F /* Build configuration list for PBXProject "KMAccordionTableViewController" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BE1BDE901B3B966000C7E15F /* Debug */, + BE1BDE911B3B966000C7E15F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BE1BDE921B3B966000C7E15F /* Build configuration list for PBXNativeTarget "KMAccordionTableViewController" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BE1BDE931B3B966000C7E15F /* Debug */, + BE1BDE941B3B966000C7E15F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BE1BDE951B3B966000C7E15F /* Build configuration list for PBXNativeTarget "KMAccordionTableViewControllerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BE1BDE961B3B966000C7E15F /* Debug */, + BE1BDE971B3B966000C7E15F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BE1BDE671B3B965F00C7E15F /* Project object */; +} diff --git a/KMAccordionTableViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examlple/KMAccordionTableViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from KMAccordionTableViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Examlple/KMAccordionTableViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Examlple/KMAccordionTableViewController/AppDelegate.h b/Examlple/KMAccordionTableViewController/AppDelegate.h new file mode 100644 index 0000000..62262c5 --- /dev/null +++ b/Examlple/KMAccordionTableViewController/AppDelegate.h @@ -0,0 +1,17 @@ +// +// AppDelegate.h +// KMAccordionTableViewController +// +// Created by Klevison Matias on 6/24/15. +// Copyright (c) 2015 KM. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + + +@end + diff --git a/KMAccordionTableViewController/KMAppDelegate.m b/Examlple/KMAccordionTableViewController/AppDelegate.m similarity index 71% rename from KMAccordionTableViewController/KMAppDelegate.m rename to Examlple/KMAccordionTableViewController/AppDelegate.m index 595ea2d..9afdbbc 100644 --- a/KMAccordionTableViewController/KMAppDelegate.m +++ b/Examlple/KMAccordionTableViewController/AppDelegate.m @@ -1,28 +1,22 @@ // -// KMAppDelegate.m +// AppDelegate.m // KMAccordionTableViewController // -// Created by Klevison Matias on 5/5/14. +// Created by Klevison Matias on 6/24/15. +// Copyright (c) 2015 KM. All rights reserved. // -// - -#import "KMAppDelegate.h" -#import "MyViewController.h" -@implementation KMAppDelegate +#import "AppDelegate.h" -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; +@interface AppDelegate () - KMAccordionTableViewController *accordionTableViewController = [[MyViewController alloc] init]; - [accordionTableViewController setTitle:@"According"]; +@end - UINavigationController *wrapNavController = [[UINavigationController alloc] initWithRootViewController:accordionTableViewController]; - [wrapNavController.navigationBar setTranslucent:NO]; +@implementation AppDelegate - self.window.rootViewController = wrapNavController; - [self.window makeKeyAndVisible]; +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. return YES; } @@ -32,7 +26,7 @@ - (void)applicationWillResignActive:(UIApplication *)application { } - (void)applicationDidEnterBackground:(UIApplication *)application { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } diff --git a/Examlple/KMAccordionTableViewController/Base.lproj/LaunchScreen.xib b/Examlple/KMAccordionTableViewController/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..3e347f3 --- /dev/null +++ b/Examlple/KMAccordionTableViewController/Base.lproj/LaunchScreen.xib @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard b/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard new file mode 100644 index 0000000..1b3043b --- /dev/null +++ b/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/KMAccordionTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json b/Examlple/KMAccordionTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 56% rename from KMAccordionTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json rename to Examlple/KMAccordionTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json index a396706..118c98f 100644 --- a/KMAccordionTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Examlple/KMAccordionTableViewController/Images.xcassets/AppIcon.appiconset/Contents.json @@ -5,15 +5,30 @@ "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" } ], "info" : { diff --git a/Examlple/KMAccordionTableViewController/Info.plist b/Examlple/KMAccordionTableViewController/Info.plist new file mode 100644 index 0000000..2a0b898 --- /dev/null +++ b/Examlple/KMAccordionTableViewController/Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + com.klevison.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/KMAccordionTableViewController/Classes/ViewController/MyViewController.h b/Examlple/KMAccordionTableViewController/MyViewController.h old mode 100644 new mode 100755 similarity index 100% rename from KMAccordionTableViewController/Classes/ViewController/MyViewController.h rename to Examlple/KMAccordionTableViewController/MyViewController.h diff --git a/KMAccordionTableViewController/Classes/ViewController/MyViewController.m b/Examlple/KMAccordionTableViewController/MyViewController.m old mode 100644 new mode 100755 similarity index 82% rename from KMAccordionTableViewController/Classes/ViewController/MyViewController.m rename to Examlple/KMAccordionTableViewController/MyViewController.m index ee9a742..c608a11 --- a/KMAccordionTableViewController/Classes/ViewController/MyViewController.m +++ b/Examlple/KMAccordionTableViewController/MyViewController.m @@ -14,20 +14,30 @@ @interface MyViewController () +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Examlple/KMAccordionTableViewControllerTests/Info.plist b/Examlple/KMAccordionTableViewControllerTests/Info.plist new file mode 100644 index 0000000..3cb7cfe --- /dev/null +++ b/Examlple/KMAccordionTableViewControllerTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + com.klevison.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests.m b/Examlple/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests.m similarity index 59% rename from KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests.m rename to Examlple/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests.m index b0f7afd..235ed4c 100644 --- a/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests.m +++ b/Examlple/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests.m @@ -2,10 +2,11 @@ // KMAccordionTableViewControllerTests.m // KMAccordionTableViewControllerTests // -// Created by Klevison Matias on 5/5/14. -// +// Created by Klevison Matias on 6/24/15. +// Copyright (c) 2015 KM. All rights reserved. // +#import #import @interface KMAccordionTableViewControllerTests : XCTestCase @@ -25,7 +26,15 @@ - (void)tearDown { } - (void)testExample { - XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); + // This is an example of a functional test case. + XCTAssert(YES, @"Pass"); +} + +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; } @end diff --git a/KMAccordionTableViewController.podspec b/KMAccordionTableViewController.podspec deleted file mode 100644 index 5a20e08..0000000 --- a/KMAccordionTableViewController.podspec +++ /dev/null @@ -1,27 +0,0 @@ -Pod::Spec.new do |s| - s.name = "KMAccordionTableViewController" - s.version = "0.1.4" - s.summary = "Accordion UITableViewController" - - s.description = <<-DESC - Accordion UITableViewController component based on Apples's example. - DESC - s.homepage = "https://github.com/klevison/KMAccordionTableViewController" - s.license = { :type => 'MIT', :file => 'LICENSE' } - s.author = { "Klevison Matias" => "klevison@gmail.com" } - - s.source = { :git => "https://github.com/klevison/KMAccordionTableViewController.git", :tag => s.version.to_s } - s.source_files = "KMAccordionTableViewController/Classes", "KMAccordionTableViewController/Classes/**/*.{h,m}" - s.exclude_files = "KMAccordionTableViewController/Classes/ViewController/MyViewController*.{h,m}" - s.resources = "KMAccordionTableViewController/**/*.{xib,png,nib}" - s.screenshot = "http://dl.dropbox.com/u/378729/MBProgressHUD/1.png" - - s.requires_arc = true - - s.ios.deployment_target = '6.0' - - s.frameworks = 'UIKit' - - s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '"$(PODS_ROOT)/KMAccordionTableViewController"' } - -end diff --git a/KMAccordionTableViewController.xcodeproj/project.pbxproj b/KMAccordionTableViewController.xcodeproj/project.pbxproj deleted file mode 100644 index f902daa..0000000 --- a/KMAccordionTableViewController.xcodeproj/project.pbxproj +++ /dev/null @@ -1,591 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 144BCC01198278DC009D3E5C /* facebook_email.png in Resources */ = {isa = PBXBuildFile; fileRef = 144BCBFE198278DC009D3E5C /* facebook_email.png */; }; - 144BCC02198278DC009D3E5C /* linkdin_Email.png in Resources */ = {isa = PBXBuildFile; fileRef = 144BCBFF198278DC009D3E5C /* linkdin_Email.png */; }; - 144BCC03198278DC009D3E5C /* Skype_Email.png in Resources */ = {isa = PBXBuildFile; fileRef = 144BCC00198278DC009D3E5C /* Skype_Email.png */; }; - 6F4882DDE569E80F4FABE10A /* KMAppearence.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F488B930B10737E789F36D8 /* KMAppearence.m */; }; - 7140F31EFEDB44F5927FE2FF /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58A2F813C2DB48A6ACECC1AD /* libPods.a */; }; - BE6DEF6519180BD4008490FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6DEF6419180BD4008490FC /* Foundation.framework */; }; - BE6DEF6719180BD4008490FC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6DEF6619180BD4008490FC /* CoreGraphics.framework */; }; - BE6DEF6919180BD4008490FC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6DEF6819180BD4008490FC /* UIKit.framework */; }; - BE6DEF6F19180BD4008490FC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BE6DEF6D19180BD4008490FC /* InfoPlist.strings */; }; - BE6DEF7119180BD4008490FC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF7019180BD4008490FC /* main.m */; }; - BE6DEF7519180BD5008490FC /* KMAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF7419180BD5008490FC /* KMAppDelegate.m */; }; - BE6DEF7719180BD5008490FC /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BE6DEF7619180BD5008490FC /* Images.xcassets */; }; - BE6DEF7E19180BD9008490FC /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6DEF7D19180BD9008490FC /* XCTest.framework */; }; - BE6DEF7F19180BD9008490FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6DEF6419180BD4008490FC /* Foundation.framework */; }; - BE6DEF8019180BD9008490FC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6DEF6819180BD4008490FC /* UIKit.framework */; }; - BE6DEF8819180BD9008490FC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BE6DEF8619180BD9008490FC /* InfoPlist.strings */; }; - BE6DEF8A19180BD9008490FC /* KMAccordionTableViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF8919180BD9008490FC /* KMAccordionTableViewControllerTests.m */; }; - BE6DEFA019180C7A008490FC /* KMSectionHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF9619180C7A008490FC /* KMSectionHeaderView.m */; }; - BE6DEFA119180C7A008490FC /* KMSectionHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BE6DEF9719180C7A008490FC /* KMSectionHeaderView.xib */; }; - BE6DEFA219180C7A008490FC /* KMSection.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF9A19180C7A008490FC /* KMSection.m */; }; - BE6DEFA319180C7A008490FC /* KMAccordionTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF9D19180C7A008490FC /* KMAccordionTableViewController.m */; }; - BE6DEFA419180C7A008490FC /* MyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6DEF9F19180C7A008490FC /* MyViewController.m */; }; - BE6DEFA819180D2A008490FC /* carat-open.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6DEFA619180D2A008490FC /* carat-open.png */; }; - BE6DEFA919180D2A008490FC /* carat.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6DEFA719180D2A008490FC /* carat.png */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - BE6DEF8119180BD9008490FC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BE6DEF5919180BD3008490FC /* Project object */; - proxyType = 1; - remoteGlobalIDString = BE6DEF6019180BD4008490FC; - remoteInfo = KMAccordionTableViewController; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 144BCBFE198278DC009D3E5C /* facebook_email.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = facebook_email.png; sourceTree = ""; }; - 144BCBFF198278DC009D3E5C /* linkdin_Email.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linkdin_Email.png; sourceTree = ""; }; - 144BCC00198278DC009D3E5C /* Skype_Email.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Skype_Email.png; sourceTree = ""; }; - 38CD84FE5C9546799E339B87 /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = ""; }; - 58A2F813C2DB48A6ACECC1AD /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 6F488A7756D3B290E2C1C9C3 /* KMAppearence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAppearence.h; sourceTree = ""; }; - 6F488B930B10737E789F36D8 /* KMAppearence.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAppearence.m; sourceTree = ""; }; - BE6DEF6119180BD4008490FC /* KMAccordionTableViewController.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KMAccordionTableViewController.app; sourceTree = BUILT_PRODUCTS_DIR; }; - BE6DEF6419180BD4008490FC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - BE6DEF6619180BD4008490FC /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - BE6DEF6819180BD4008490FC /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - BE6DEF6C19180BD4008490FC /* KMAccordionTableViewController-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "KMAccordionTableViewController-Info.plist"; sourceTree = ""; }; - BE6DEF6E19180BD4008490FC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - BE6DEF7019180BD4008490FC /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - BE6DEF7219180BD4008490FC /* KMAccordionTableViewController-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KMAccordionTableViewController-Prefix.pch"; sourceTree = ""; }; - BE6DEF7319180BD5008490FC /* KMAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KMAppDelegate.h; sourceTree = ""; }; - BE6DEF7419180BD5008490FC /* KMAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KMAppDelegate.m; sourceTree = ""; }; - BE6DEF7619180BD5008490FC /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - BE6DEF7C19180BD9008490FC /* KMAccordionTableViewControllerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KMAccordionTableViewControllerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BE6DEF7D19180BD9008490FC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - BE6DEF8519180BD9008490FC /* KMAccordionTableViewControllerTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "KMAccordionTableViewControllerTests-Info.plist"; sourceTree = ""; }; - BE6DEF8719180BD9008490FC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - BE6DEF8919180BD9008490FC /* KMAccordionTableViewControllerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KMAccordionTableViewControllerTests.m; sourceTree = ""; }; - BE6DEF9519180C7A008490FC /* KMSectionHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSectionHeaderView.h; sourceTree = ""; }; - BE6DEF9619180C7A008490FC /* KMSectionHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSectionHeaderView.m; sourceTree = ""; }; - BE6DEF9719180C7A008490FC /* KMSectionHeaderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMSectionHeaderView.xib; sourceTree = ""; }; - BE6DEF9919180C7A008490FC /* KMSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSection.h; sourceTree = ""; }; - BE6DEF9A19180C7A008490FC /* KMSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSection.m; sourceTree = ""; }; - BE6DEF9C19180C7A008490FC /* KMAccordionTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAccordionTableViewController.h; sourceTree = ""; }; - BE6DEF9D19180C7A008490FC /* KMAccordionTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAccordionTableViewController.m; sourceTree = ""; }; - BE6DEF9E19180C7A008490FC /* MyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyViewController.h; sourceTree = ""; }; - BE6DEF9F19180C7A008490FC /* MyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyViewController.m; sourceTree = ""; }; - BE6DEFA619180D2A008490FC /* carat-open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "carat-open.png"; sourceTree = ""; }; - BE6DEFA719180D2A008490FC /* carat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = carat.png; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BE6DEF5E19180BD4008490FC /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BE6DEF6719180BD4008490FC /* CoreGraphics.framework in Frameworks */, - BE6DEF6919180BD4008490FC /* UIKit.framework in Frameworks */, - BE6DEF6519180BD4008490FC /* Foundation.framework in Frameworks */, - 7140F31EFEDB44F5927FE2FF /* libPods.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE6DEF7919180BD9008490FC /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BE6DEF7E19180BD9008490FC /* XCTest.framework in Frameworks */, - BE6DEF8019180BD9008490FC /* UIKit.framework in Frameworks */, - BE6DEF7F19180BD9008490FC /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - BE6DEF5819180BD3008490FC = { - isa = PBXGroup; - children = ( - BE6DEF6A19180BD4008490FC /* KMAccordionTableViewController */, - BE6DEF8319180BD9008490FC /* KMAccordionTableViewControllerTests */, - BE6DEF6319180BD4008490FC /* Frameworks */, - BE6DEF6219180BD4008490FC /* Products */, - 38CD84FE5C9546799E339B87 /* Pods.xcconfig */, - ); - sourceTree = ""; - }; - BE6DEF6219180BD4008490FC /* Products */ = { - isa = PBXGroup; - children = ( - BE6DEF6119180BD4008490FC /* KMAccordionTableViewController.app */, - BE6DEF7C19180BD9008490FC /* KMAccordionTableViewControllerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - BE6DEF6319180BD4008490FC /* Frameworks */ = { - isa = PBXGroup; - children = ( - BE6DEF6419180BD4008490FC /* Foundation.framework */, - BE6DEF6619180BD4008490FC /* CoreGraphics.framework */, - BE6DEF6819180BD4008490FC /* UIKit.framework */, - BE6DEF7D19180BD9008490FC /* XCTest.framework */, - 58A2F813C2DB48A6ACECC1AD /* libPods.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - BE6DEF6A19180BD4008490FC /* KMAccordionTableViewController */ = { - isa = PBXGroup; - children = ( - BE6DEF9319180C7A008490FC /* Classes */, - BE6DEF7319180BD5008490FC /* KMAppDelegate.h */, - BE6DEF7419180BD5008490FC /* KMAppDelegate.m */, - BE6DEF7619180BD5008490FC /* Images.xcassets */, - BE6DEFA519180D2A008490FC /* Resources */, - BE6DEF6B19180BD4008490FC /* Supporting Files */, - ); - path = KMAccordionTableViewController; - sourceTree = ""; - }; - BE6DEF6B19180BD4008490FC /* Supporting Files */ = { - isa = PBXGroup; - children = ( - BE6DEF6C19180BD4008490FC /* KMAccordionTableViewController-Info.plist */, - BE6DEF6D19180BD4008490FC /* InfoPlist.strings */, - BE6DEF7019180BD4008490FC /* main.m */, - BE6DEF7219180BD4008490FC /* KMAccordionTableViewController-Prefix.pch */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - BE6DEF8319180BD9008490FC /* KMAccordionTableViewControllerTests */ = { - isa = PBXGroup; - children = ( - BE6DEF8919180BD9008490FC /* KMAccordionTableViewControllerTests.m */, - BE6DEF8419180BD9008490FC /* Supporting Files */, - ); - path = KMAccordionTableViewControllerTests; - sourceTree = ""; - }; - BE6DEF8419180BD9008490FC /* Supporting Files */ = { - isa = PBXGroup; - children = ( - BE6DEF8519180BD9008490FC /* KMAccordionTableViewControllerTests-Info.plist */, - BE6DEF8619180BD9008490FC /* InfoPlist.strings */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - BE6DEF9319180C7A008490FC /* Classes */ = { - isa = PBXGroup; - children = ( - BE6DEF9419180C7A008490FC /* Header */, - BE6DEF9819180C7A008490FC /* Model */, - BE6DEF9B19180C7A008490FC /* ViewController */, - ); - path = Classes; - sourceTree = ""; - }; - BE6DEF9419180C7A008490FC /* Header */ = { - isa = PBXGroup; - children = ( - BE6DEF9519180C7A008490FC /* KMSectionHeaderView.h */, - BE6DEF9619180C7A008490FC /* KMSectionHeaderView.m */, - BE6DEF9719180C7A008490FC /* KMSectionHeaderView.xib */, - ); - path = Header; - sourceTree = ""; - }; - BE6DEF9819180C7A008490FC /* Model */ = { - isa = PBXGroup; - children = ( - BE6DEF9919180C7A008490FC /* KMSection.h */, - BE6DEF9A19180C7A008490FC /* KMSection.m */, - 6F488B930B10737E789F36D8 /* KMAppearence.m */, - 6F488A7756D3B290E2C1C9C3 /* KMAppearence.h */, - ); - path = Model; - sourceTree = ""; - }; - BE6DEF9B19180C7A008490FC /* ViewController */ = { - isa = PBXGroup; - children = ( - BE6DEF9C19180C7A008490FC /* KMAccordionTableViewController.h */, - BE6DEF9D19180C7A008490FC /* KMAccordionTableViewController.m */, - BE6DEF9E19180C7A008490FC /* MyViewController.h */, - BE6DEF9F19180C7A008490FC /* MyViewController.m */, - ); - path = ViewController; - sourceTree = ""; - }; - BE6DEFA519180D2A008490FC /* Resources */ = { - isa = PBXGroup; - children = ( - 144BCBFE198278DC009D3E5C /* facebook_email.png */, - 144BCBFF198278DC009D3E5C /* linkdin_Email.png */, - 144BCC00198278DC009D3E5C /* Skype_Email.png */, - BE6DEFA619180D2A008490FC /* carat-open.png */, - BE6DEFA719180D2A008490FC /* carat.png */, - ); - path = Resources; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - BE6DEF6019180BD4008490FC /* KMAccordionTableViewController */ = { - isa = PBXNativeTarget; - buildConfigurationList = BE6DEF8D19180BD9008490FC /* Build configuration list for PBXNativeTarget "KMAccordionTableViewController" */; - buildPhases = ( - E7099655EADC44B9A90A4D4E /* Check Pods Manifest.lock */, - BE6DEF5D19180BD4008490FC /* Sources */, - BE6DEF5E19180BD4008490FC /* Frameworks */, - BE6DEF5F19180BD4008490FC /* Resources */, - 10AB0B55E13F454F98CCA404 /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = KMAccordionTableViewController; - productName = KMAccordionTableViewController; - productReference = BE6DEF6119180BD4008490FC /* KMAccordionTableViewController.app */; - productType = "com.apple.product-type.application"; - }; - BE6DEF7B19180BD9008490FC /* KMAccordionTableViewControllerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = BE6DEF9019180BD9008490FC /* Build configuration list for PBXNativeTarget "KMAccordionTableViewControllerTests" */; - buildPhases = ( - BE6DEF7819180BD9008490FC /* Sources */, - BE6DEF7919180BD9008490FC /* Frameworks */, - BE6DEF7A19180BD9008490FC /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - BE6DEF8219180BD9008490FC /* PBXTargetDependency */, - ); - name = KMAccordionTableViewControllerTests; - productName = KMAccordionTableViewControllerTests; - productReference = BE6DEF7C19180BD9008490FC /* KMAccordionTableViewControllerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BE6DEF5919180BD3008490FC /* Project object */ = { - isa = PBXProject; - attributes = { - CLASSPREFIX = KM; - LastUpgradeCheck = 0510; - TargetAttributes = { - BE6DEF7B19180BD9008490FC = { - TestTargetID = BE6DEF6019180BD4008490FC; - }; - }; - }; - buildConfigurationList = BE6DEF5C19180BD3008490FC /* Build configuration list for PBXProject "KMAccordionTableViewController" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = BE6DEF5819180BD3008490FC; - productRefGroup = BE6DEF6219180BD4008490FC /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - BE6DEF6019180BD4008490FC /* KMAccordionTableViewController */, - BE6DEF7B19180BD9008490FC /* KMAccordionTableViewControllerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - BE6DEF5F19180BD4008490FC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE6DEFA119180C7A008490FC /* KMSectionHeaderView.xib in Resources */, - BE6DEF6F19180BD4008490FC /* InfoPlist.strings in Resources */, - 144BCC01198278DC009D3E5C /* facebook_email.png in Resources */, - BE6DEF7719180BD5008490FC /* Images.xcassets in Resources */, - 144BCC02198278DC009D3E5C /* linkdin_Email.png in Resources */, - 144BCC03198278DC009D3E5C /* Skype_Email.png in Resources */, - BE6DEFA819180D2A008490FC /* carat-open.png in Resources */, - BE6DEFA919180D2A008490FC /* carat.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE6DEF7A19180BD9008490FC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE6DEF8819180BD9008490FC /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 10AB0B55E13F454F98CCA404 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - E7099655EADC44B9A90A4D4E /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BE6DEF5D19180BD4008490FC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE6DEFA419180C7A008490FC /* MyViewController.m in Sources */, - BE6DEF7519180BD5008490FC /* KMAppDelegate.m in Sources */, - BE6DEFA019180C7A008490FC /* KMSectionHeaderView.m in Sources */, - BE6DEF7119180BD4008490FC /* main.m in Sources */, - BE6DEFA219180C7A008490FC /* KMSection.m in Sources */, - BE6DEFA319180C7A008490FC /* KMAccordionTableViewController.m in Sources */, - 6F4882DDE569E80F4FABE10A /* KMAppearence.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE6DEF7819180BD9008490FC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE6DEF8A19180BD9008490FC /* KMAccordionTableViewControllerTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - BE6DEF8219180BD9008490FC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BE6DEF6019180BD4008490FC /* KMAccordionTableViewController */; - targetProxy = BE6DEF8119180BD9008490FC /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - BE6DEF6D19180BD4008490FC /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - BE6DEF6E19180BD4008490FC /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - BE6DEF8619180BD9008490FC /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - BE6DEF8719180BD9008490FC /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - BE6DEF8B19180BD9008490FC /* Debug */ = { - 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_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - BE6DEF8C19180BD9008490FC /* 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_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - BE6DEF8E19180BD9008490FC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 38CD84FE5C9546799E339B87 /* Pods.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch"; - INFOPLIST_FILE = "KMAccordionTableViewController/KMAccordionTableViewController-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - BE6DEF8F19180BD9008490FC /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 38CD84FE5C9546799E339B87 /* Pods.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch"; - INFOPLIST_FILE = "KMAccordionTableViewController/KMAccordionTableViewController-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; - BE6DEF9119180BD9008490FC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/KMAccordionTableViewController.app/KMAccordionTableViewController"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = xctest; - }; - name = Debug; - }; - BE6DEF9219180BD9008490FC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/KMAccordionTableViewController.app/KMAccordionTableViewController"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch"; - INFOPLIST_FILE = "KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = xctest; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - BE6DEF5C19180BD3008490FC /* Build configuration list for PBXProject "KMAccordionTableViewController" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BE6DEF8B19180BD9008490FC /* Debug */, - BE6DEF8C19180BD9008490FC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BE6DEF8D19180BD9008490FC /* Build configuration list for PBXNativeTarget "KMAccordionTableViewController" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BE6DEF8E19180BD9008490FC /* Debug */, - BE6DEF8F19180BD9008490FC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BE6DEF9019180BD9008490FC /* Build configuration list for PBXNativeTarget "KMAccordionTableViewControllerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BE6DEF9119180BD9008490FC /* Debug */, - BE6DEF9219180BD9008490FC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BE6DEF5919180BD3008490FC /* Project object */; -} diff --git a/KMAccordionTableViewController.xcworkspace/contents.xcworkspacedata b/KMAccordionTableViewController.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 11e5fa6..0000000 --- a/KMAccordionTableViewController.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/KMAccordionTableViewController/Images.xcassets/LaunchImage.launchimage/Contents.json b/KMAccordionTableViewController/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index c79ebd3..0000000 --- a/KMAccordionTableViewController/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "subtype" : "retina4", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/KMAccordionTableViewController/KMAccordionTableViewController-Info.plist b/KMAccordionTableViewController/KMAccordionTableViewController-Info.plist deleted file mode 100644 index ed1d9ab..0000000 --- a/KMAccordionTableViewController/KMAccordionTableViewController-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.klevison.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch b/KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch deleted file mode 100644 index 43f34b8..0000000 --- a/KMAccordionTableViewController/KMAccordionTableViewController-Prefix.pch +++ /dev/null @@ -1,18 +0,0 @@ -// -// Prefix header -// -// The contents of this file are implicitly included at the beginning of every source file. -// - -#import - -#ifndef __IPHONE_3_0 -#warning "This project uses features only available in iOS SDK 3.0 and later." -#endif - -#ifdef __OBJC__ - -#import -#import - -#endif diff --git a/KMAccordionTableViewController/KMAppDelegate.h b/KMAccordionTableViewController/KMAppDelegate.h deleted file mode 100644 index 5d8d693..0000000 --- a/KMAccordionTableViewController/KMAppDelegate.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// KMAppDelegate.h -// KMAccordionTableViewController -// -// Created by Klevison Matias on 5/5/14. -// -// - -#import - -@interface KMAppDelegate : UIResponder - -@property(strong, nonatomic) UIWindow *window; - -@end diff --git a/KMAccordionTableViewController/Resources/Skype_Email.png b/KMAccordionTableViewController/Resources/Skype_Email.png deleted file mode 100644 index c76367617ecf377ba3dc0a2f0e7e9ed5dc2e2e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmV;x0YCnUP)Y5S`iEJ5BU7 zD$$^&A&8pNKM-wgEJURj z%hx4hoMxAq_h#n3!Oe?&rfdTs^bi9SY4)3Gy3-RJU{EFmes9hMI9zy=r1A665Fs|{ zTMer+L5e7$Tc@>0kuVvXSU-O=nLq@ai{xTxA=n21+jGO3?j)`XFS^s5AS2F>D5>SC z=$PWCI1^B6XaE@ZNq&l&?$l($HYiGI3e6L6@|?~k!_w1>#iJo2z?T=y zO^r6Qa)xQssMg$EzGyoMmb`{PGdT=^0LGX(G2{o~#@;oM0B9vvcZvjLO@oMbk8hvf zK3fyF13g+U<<9Dkmo<%$u(EmiQ2EeG{1#d(;rl<2N{O~^0382RBEWh4e#Hz_0003!NklXQtlq&u3SeR&5kNHv zaIyyLNvex-6V$-Mz`*eP@BdaWjYvbO7oUGBx9($SVIp7y6BEPjH(wbT81BFQ#>B{o z-v&mArx_U;{`~vT%*e>Vz`)AP#Kg$(=ih$@1_pK(rhotc|M>k6#Yunv{V#J;jy96H z{_1n|lJiTV4b?@tH(z^YF2}DS#`FF6zf~8Xm2bJu#>|B9v=Aqof)J+^9|r>igET+8 zoFHemwY;1l=YIwUQ69EzYXuucAp*gA?#V~p?t?~shap@&DZc;sHJo_({`1ej&p!Tm z{NXzT0|PHR%m4rX@o8XYVq{=ofCm{wH3c#KADR4*AQ@0%g%KL8OpJ^x&Obf<_``?q zzZn=9>UP}X=U}<>_A4thBO?Pt$)@XEY|PhQeuhLTBh6DQ0KtH0OW8|@DgXcg07*qo IM6N<$f;^hBxc~qF diff --git a/KMAccordionTableViewController/en.lproj/InfoPlist.strings b/KMAccordionTableViewController/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/KMAccordionTableViewController/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/KMAccordionTableViewController/main.m b/KMAccordionTableViewController/main.m deleted file mode 100644 index 61cbca2..0000000 --- a/KMAccordionTableViewController/main.m +++ /dev/null @@ -1,15 +0,0 @@ -// -// main.m -// KMAccordionTableViewController -// -// Created by Klevison Matias on 5/5/14. -// -// - -#import "KMAppDelegate.h" - -int main(int argc, char *argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([KMAppDelegate class])); - } -} diff --git a/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests-Info.plist b/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests-Info.plist deleted file mode 100644 index ceeffa7..0000000 --- a/KMAccordionTableViewControllerTests/KMAccordionTableViewControllerTests-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.klevison.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/KMAccordionTableViewControllerTests/en.lproj/InfoPlist.strings b/KMAccordionTableViewControllerTests/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/KMAccordionTableViewControllerTests/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/Podfile b/Podfile deleted file mode 100644 index 6096ccd..0000000 --- a/Podfile +++ /dev/null @@ -1,3 +0,0 @@ -platform :ios, '6.0' - -pod 'Reveal-iOS-SDK' diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index da1121f..0000000 --- a/Podfile.lock +++ /dev/null @@ -1,10 +0,0 @@ -PODS: - - Reveal-iOS-SDK (1.0.4) - -DEPENDENCIES: - - Reveal-iOS-SDK - -SPEC CHECKSUMS: - Reveal-iOS-SDK: d3c8e109d42219daaa7a6e1ad2de34f0bdbb7a88 - -COCOAPODS: 0.33.1 From f2e144ef477dc6c4556b96c33878b3ae971d7958 Mon Sep 17 00:00:00 2001 From: Klevison Matias Date: Thu, 25 Jun 2015 15:56:48 -0300 Subject: [PATCH 02/11] New features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove KMSectionHeaderView ’s UIImagView property - Change headerHeight to CGFloat - Rename KMSection properties - New DataSource methods for Animations (close and open) - New reload section methods - example code improved --- Classes/Header/KMSectionHeaderView.h | 3 +- Classes/Model/KMAppearence.h | 2 +- Classes/Model/KMSection.h | 5 +- .../KMAccordionTableViewController.h | 15 +- .../KMAccordionTableViewController.m | 72 +++++-- .../project.pbxproj | 36 +++- .../MyViewController.m | 176 ++++++++++++------ .../{ => Resource}/carat-open.png | Bin .../{ => Resource}/carat.png | Bin .../Resource/facebook.png | Bin 0 -> 404 bytes .../Resource/linkedin.png | Bin 0 -> 414 bytes .../Resource/twitter.png | Bin 0 -> 448 bytes 12 files changed, 225 insertions(+), 84 deletions(-) rename Examlple/KMAccordionTableViewController/{ => Resource}/carat-open.png (100%) rename Examlple/KMAccordionTableViewController/{ => Resource}/carat.png (100%) create mode 100755 Examlple/KMAccordionTableViewController/Resource/facebook.png create mode 100755 Examlple/KMAccordionTableViewController/Resource/linkedin.png create mode 100755 Examlple/KMAccordionTableViewController/Resource/twitter.png diff --git a/Classes/Header/KMSectionHeaderView.h b/Classes/Header/KMSectionHeaderView.h index cbe6e58..4e54d13 100755 --- a/Classes/Header/KMSectionHeaderView.h +++ b/Classes/Header/KMSectionHeaderView.h @@ -22,9 +22,8 @@ @interface KMSectionHeaderView : UITableViewHeaderFooterView @property(nonatomic, weak) IBOutlet UILabel *titleLabel; -@property (nonatomic, weak) IBOutlet UIImageView *imageView; @property(nonatomic, weak) IBOutlet UIButton *disclosureButton; -@property(nonatomic, weak) IBOutlet id delegate; +@property(weak) id delegate; @property(weak, nonatomic) IBOutlet UIView *headerSeparatorView; @property(nonatomic) NSInteger section; @property(weak, nonatomic) IBOutlet UIView *backgroundHeaderView; diff --git a/Classes/Model/KMAppearence.h b/Classes/Model/KMAppearence.h index 3193dae..2e5178a 100755 --- a/Classes/Model/KMAppearence.h +++ b/Classes/Model/KMAppearence.h @@ -6,7 +6,7 @@ @interface KMAppearence : NSObject -@property(nonatomic, assign) NSInteger headerHeight; +@property(nonatomic, assign) CGFloat headerHeight; @property(nonatomic, strong) UIFont *headerFont; @property(nonatomic, strong) UIColor *headerTitleColor; @property(nonatomic, strong) UIColor *headerColor; diff --git a/Classes/Model/KMSection.h b/Classes/Model/KMSection.h index b64b018..579e121 100755 --- a/Classes/Model/KMSection.h +++ b/Classes/Model/KMSection.h @@ -14,11 +14,10 @@ @property(getter = isOpen) BOOL open; @property UIView *view; -@property UIView *overHeaderView; +@property UIView *overlayView; @property KMSectionHeaderView *headerView; @property(nonatomic, copy) NSString *title; -@property(nonatomic, copy) UIImage *image; -@property(nonatomic, copy) UIColor *colorForBackground; +@property(nonatomic, copy) UIColor *backgroundColor; @property NSInteger sectionIndex; @end diff --git a/Classes/ViewController/KMAccordionTableViewController.h b/Classes/ViewController/KMAccordionTableViewController.h index 0ace1c6..f3204e8 100755 --- a/Classes/ViewController/KMAccordionTableViewController.h +++ b/Classes/ViewController/KMAccordionTableViewController.h @@ -36,7 +36,9 @@ @optional -- (UITableViewRowAnimation)accordionTableViewAnimation:(KMAccordionTableViewController *)accordionTableView; +- (UITableViewRowAnimation)accordionTableViewOpenAnimation:(KMAccordionTableViewController *)accordionTableView; + +- (UITableViewRowAnimation)accordionTableViewCloseAnimation:(KMAccordionTableViewController *)accordionTableView; @end @@ -48,6 +50,10 @@ */ - (void)reloadOpenedSection; +- (void)reloadAllSections; + +- (void)reloadSectionsAtIndexes:(NSArray *)indexes; + /** Sets AccordionTableView's delegate. */ @@ -67,7 +73,12 @@ /** Sets section header height. */ -- (void)setHeaderHeight:(float)height; +- (void)setHeaderHeight:(CGFloat)height; + +/** + Get section header height. + */ +- (CGFloat)headerHeight; /** Sets section header font. diff --git a/Classes/ViewController/KMAccordionTableViewController.m b/Classes/ViewController/KMAccordionTableViewController.m index 8997d0f..e092192 100755 --- a/Classes/ViewController/KMAccordionTableViewController.m +++ b/Classes/ViewController/KMAccordionTableViewController.m @@ -12,7 +12,8 @@ @interface KMAccordionTableViewController () @property (nonatomic) NSInteger openSectionIndex; -@property UITableViewRowAnimation animation; +@property UITableViewRowAnimation closeAnimation; +@property UITableViewRowAnimation openAnimation; @end @@ -45,7 +46,8 @@ - (instancetype)init - (void)setup { self.sectionAppearence = [KMAppearence new]; - self.animation = UITableViewRowAnimationFade; + self.openAnimation = UITableViewRowAnimationFade; + self.closeAnimation = UITableViewRowAnimationFade; self.openSectionIndex = NSNotFound; } @@ -57,11 +59,16 @@ - (void)viewDidLoad #pragma mark - Appearence Methods -- (void)setHeaderHeight:(float)height +- (void)setHeaderHeight:(CGFloat)height { [self.sectionAppearence setHeaderHeight:height]; } +- (CGFloat)headerHeight +{ + return [self.sectionAppearence headerHeight]; +} + - (void)setHeaderFont:(UIFont *)headerFont { [self.sectionAppearence setHeaderFont:headerFont]; @@ -128,8 +135,40 @@ - (KMSection *)getOpenedSection { - (void)reloadOpenedSection { KMSection *openedSection = [self getOpenedSection]; - NSArray *cellToReloadArray = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:openedSection.sectionIndex]]; - [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:UITableViewRowAnimationNone]; + if (openedSection) { + NSArray *cellToReloadArray = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:openedSection.sectionIndex]]; + [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:self.openAnimation]; + } +} + +- (void)reloadAllSections +{ + if (self.sections.count > 0) { + + NSMutableArray *cellToReloadArray; + + for (KMSection *section in self.sections) { + [cellToReloadArray addObject:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:section.sectionIndex]]]; + } + + [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:self.openAnimation]; + + } +} + +- (void)reloadSectionsAtIndexes:(NSArray *)indexes +{ + if (indexes.count > 0) { + + NSMutableArray *cellToReloadArray; + + for (NSNumber *index in indexes) { + [cellToReloadArray addObject:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:[index intValue]]]]; + } + + [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:self.openAnimation]; + + } } #pragma mark - Table view data source @@ -189,20 +228,19 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger currentSection.headerView = sectionHeaderView; sectionHeaderView.titleLabel.text = currentSection.title; - [sectionHeaderView.imageView setImage:currentSection.image]; [sectionHeaderView setSection:sectionIndex]; [sectionHeaderView setDelegate:self]; UIColor *tempcolor = self.sectionAppearence.headerColor; - if (currentSection.colorForBackground) { - [self.sectionAppearence setHeaderColor:currentSection.colorForBackground]; + if (currentSection.backgroundColor) { + [self.sectionAppearence setHeaderColor:currentSection.backgroundColor]; } [sectionHeaderView setHeaderSectionAppearence:self.sectionAppearence]; [self.sectionAppearence setHeaderColor:tempcolor]; - if (currentSection.overHeaderView) { - [sectionHeaderView addOverHeaderSubView:currentSection.overHeaderView]; + if (currentSection.overlayView) { + [sectionHeaderView addOverHeaderSubView:currentSection.overlayView]; } [self configureSectionsCell:currentSection]; @@ -220,8 +258,12 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView selectedSecti KMSection *section = (self.sections)[sectionOpened]; - if ([self.dataSource respondsToSelector:@selector(accordionTableViewAnimation:)]) { - self.animation = [self.dataSource accordionTableViewAnimation:self]; + if ([self.dataSource respondsToSelector:@selector(accordionTableViewOpenAnimation:)]) { + self.openAnimation = [self.dataSource accordionTableViewOpenAnimation:self]; + } + + if ([self.dataSource respondsToSelector:@selector(accordionTableViewCloseAnimation:)]) { + self.closeAnimation = [self.dataSource accordionTableViewCloseAnimation:self]; } if (!section.open) { @@ -257,8 +299,8 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened } [self.tableView beginUpdates]; - [self.tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:self.animation]; - [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.animation]; + [self.tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:self.openAnimation]; + [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.closeAnimation]; [self.tableView endUpdates]; CGRect sectionRect = [self.tableView rectForSection:sectionOpened]; @@ -282,7 +324,7 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed if (countOfRowsToDelete > 0) { NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init]; [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:0 inSection:sectionClosed]]; - [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.animation]; + [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.closeAnimation]; } self.openSectionIndex = NSNotFound; diff --git a/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj b/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj index 9b854eb..82b9764 100644 --- a/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj +++ b/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj @@ -19,8 +19,11 @@ BE1BDEAA1B3B96CD00C7E15F /* KMAppearence.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA21B3B96CD00C7E15F /* KMAppearence.m */; }; BE1BDEAB1B3B96CD00C7E15F /* KMSection.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA41B3B96CD00C7E15F /* KMSection.m */; }; BE1BDEAC1B3B96CD00C7E15F /* KMAccordionTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA71B3B96CD00C7E15F /* KMAccordionTableViewController.m */; }; - BE1BDEAF1B3B978800C7E15F /* carat-open.png in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDEAD1B3B978800C7E15F /* carat-open.png */; }; - BE1BDEB01B3B978800C7E15F /* carat.png in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDEAE1B3B978800C7E15F /* carat.png */; }; + BE6F7E321B3C797500999A82 /* carat-open.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E2D1B3C797500999A82 /* carat-open.png */; }; + BE6F7E331B3C797500999A82 /* carat.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E2E1B3C797500999A82 /* carat.png */; }; + BE6F7E341B3C797500999A82 /* facebook.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E2F1B3C797500999A82 /* facebook.png */; }; + BE6F7E351B3C797500999A82 /* linkedin.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E301B3C797500999A82 /* linkedin.png */; }; + BE6F7E361B3C797500999A82 /* twitter.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E311B3C797500999A82 /* twitter.png */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -56,8 +59,11 @@ BE1BDEA41B3B96CD00C7E15F /* KMSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSection.m; sourceTree = ""; }; BE1BDEA61B3B96CD00C7E15F /* KMAccordionTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMAccordionTableViewController.h; sourceTree = ""; }; BE1BDEA71B3B96CD00C7E15F /* KMAccordionTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAccordionTableViewController.m; sourceTree = ""; }; - BE1BDEAD1B3B978800C7E15F /* carat-open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "carat-open.png"; sourceTree = ""; }; - BE1BDEAE1B3B978800C7E15F /* carat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = carat.png; sourceTree = ""; }; + BE6F7E2D1B3C797500999A82 /* carat-open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "carat-open.png"; sourceTree = ""; }; + BE6F7E2E1B3C797500999A82 /* carat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = carat.png; sourceTree = ""; }; + BE6F7E2F1B3C797500999A82 /* facebook.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = facebook.png; sourceTree = ""; }; + BE6F7E301B3C797500999A82 /* linkedin.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linkedin.png; sourceTree = ""; }; + BE6F7E311B3C797500999A82 /* twitter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = twitter.png; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -100,12 +106,11 @@ isa = PBXGroup; children = ( BE1BDE9B1B3B96CC00C7E15F /* Classes */, - BE1BDEAD1B3B978800C7E15F /* carat-open.png */, - BE1BDEAE1B3B978800C7E15F /* carat.png */, BE1BDE981B3B96BE00C7E15F /* MyViewController.h */, BE1BDE991B3B96BE00C7E15F /* MyViewController.m */, BE1BDE761B3B965F00C7E15F /* AppDelegate.h */, BE1BDE771B3B965F00C7E15F /* AppDelegate.m */, + BE6F7E2C1B3C797500999A82 /* Resource */, BE1BDE7C1B3B965F00C7E15F /* Main.storyboard */, BE1BDE7F1B3B965F00C7E15F /* Images.xcassets */, BE1BDE811B3B965F00C7E15F /* LaunchScreen.xib */, @@ -181,6 +186,18 @@ path = ViewController; sourceTree = ""; }; + BE6F7E2C1B3C797500999A82 /* Resource */ = { + isa = PBXGroup; + children = ( + BE6F7E2D1B3C797500999A82 /* carat-open.png */, + BE6F7E2E1B3C797500999A82 /* carat.png */, + BE6F7E2F1B3C797500999A82 /* facebook.png */, + BE6F7E301B3C797500999A82 /* linkedin.png */, + BE6F7E311B3C797500999A82 /* twitter.png */, + ); + path = Resource; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -262,11 +279,14 @@ buildActionMask = 2147483647; files = ( BE1BDE7E1B3B965F00C7E15F /* Main.storyboard in Resources */, - BE1BDEB01B3B978800C7E15F /* carat.png in Resources */, + BE6F7E331B3C797500999A82 /* carat.png in Resources */, + BE6F7E361B3C797500999A82 /* twitter.png in Resources */, BE1BDEA91B3B96CD00C7E15F /* KMSectionHeaderView.xib in Resources */, BE1BDE831B3B965F00C7E15F /* LaunchScreen.xib in Resources */, - BE1BDEAF1B3B978800C7E15F /* carat-open.png in Resources */, + BE6F7E351B3C797500999A82 /* linkedin.png in Resources */, + BE6F7E321B3C797500999A82 /* carat-open.png in Resources */, BE1BDE801B3B965F00C7E15F /* Images.xcassets in Resources */, + BE6F7E341B3C797500999A82 /* facebook.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Examlple/KMAccordionTableViewController/MyViewController.m b/Examlple/KMAccordionTableViewController/MyViewController.m index c608a11..5d635dc 100755 --- a/Examlple/KMAccordionTableViewController/MyViewController.m +++ b/Examlple/KMAccordionTableViewController/MyViewController.m @@ -31,20 +31,25 @@ - (CGFloat)accordionTableView:(KMAccordionTableViewController *)accordionTableVi return section.view.frame.size.height; } -- (UITableViewRowAnimation)accordionTableViewAnimation:(KMAccordionTableViewController *)accordionTableView +- (UITableViewRowAnimation)accordionTableViewOpenAnimation:(KMAccordionTableViewController *)accordionTableView { - return UITableViewRowAnimationRight; + return UITableViewRowAnimationFade; +} + +- (UITableViewRowAnimation)accordionTableViewCloseAnimation:(KMAccordionTableViewController *)accordionTableView +{ + return UITableViewRowAnimationFade; } - (void)viewDidLoad { [super viewDidLoad]; - + [self setupAppearence]; + self.dataSource = self; self.delegate = self; self.sections = [self getSectionArray]; - [self setupAppearence]; } - (void)setupAppearence @@ -59,68 +64,138 @@ - (void)setupAppearence [self setOneSectionAlwaysOpen:NO]; // set if one section should always be open. if set to YES, the VC will load with the first section already open, and the open section will not close unless you click a different section } -- (void)teste +- (void)updateSectionOne { - KMSection *section = self.sections[2]; - + KMSection *section = self.sections[0]; UIView *view = section.view; - view.frame = CGRectMake(0, 0, 320, 400); + view.frame = CGRectMake(0, 0, self.view.frame.size.width, 400); [self reloadOpenedSection]; } +- (void)updateAllSections +{ + KMSection *section1 = self.sections[0]; + UIView *view1 = section1.view; + view1.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); + + KMSection *section2 = self.sections[1]; + UIView *view2 = section2.view; + view2.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); + + KMSection *section3 = self.sections[2]; + UIView *view3 = section3.view; + view3.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); + + KMSection *section4 = self.sections[3]; + UIView *view4 = section4.view; + view4.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); + + [self reloadSectionsAtIndexes:@[@1,@2,@3,@4]]; + + [self reloadAllSections]; +} + +- (void)updateSectionsOneAndTwo +{ + KMSection *section1 = self.sections[0]; + UIView *view1 = section1.view; + view1.frame = CGRectMake(0, 0, self.view.frame.size.width, 100); + + KMSection *section2 = self.sections[1]; + UIView *view2 = section2.view; + view2.frame = CGRectMake(0, 0, self.view.frame.size.width, 100); + + [self reloadSectionsAtIndexes:@[@1,@2]]; +} + - (NSArray *)getSectionArray { - UIView *viewOfSection1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)]; + KMSection *section1 = [self sectionOne]; + KMSection *section2 = [self sectionTwo]; + KMSection *section3 = [self sectionThree]; + KMSection *section4 = [self sectionFour]; + + return @[section1, section2, section3, section4]; +} + +#pragma mark - Setup Sections + +- (KMSection *)sectionOne +{ + UIView *viewOfSection1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 300)]; viewOfSection1.backgroundColor = [UIColor grayColor]; - KMSection *section1 = [[KMSection alloc] init]; + KMSection *section1 = [KMSection new]; section1.view = viewOfSection1; - section1.title = @"My First Section"; - section1.colorForBackground = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set - section1.image = [UIImage imageNamed:@"facebook_email"]; -// -//// UIView *minhaview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)]; -//// minhaview.backgroundColor = [UIColor redColor]; -//// section1.overHeaderView = minhaview; + section1.title = @"Facebook"; + section1.backgroundColor = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set + + UIImageView *overlayViewSection1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 50, [self headerHeight] - 1)]; + overlayViewSection1.backgroundColor = [UIColor whiteColor]; + overlayViewSection1.image = [UIImage imageNamed:@"facebook"]; + overlayViewSection1.contentMode = UIViewContentModeCenter; + overlayViewSection1.backgroundColor = [UIColor clearColor]; + section1.overlayView = overlayViewSection1; + + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)]; + [button setTitle:@"Reload only this section" forState:UIControlStateNormal]; + [button addTarget:self action:@selector(updateSectionOne) forControlEvents:UIControlEventTouchUpInside]; + [viewOfSection1 addSubview:button]; + + return section1; +} - UIView *viewOfSection2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)]; +- (KMSection *)sectionTwo +{ + UIView *viewOfSection2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 300)]; viewOfSection2.backgroundColor = [UIColor redColor]; KMSection *section2 = [[KMSection alloc] init]; section2.view = viewOfSection2; - section2.title = @"Sec. Section"; - section2.colorForBackground = [UIColor orangeColor]; - section2.image = [UIImage imageNamed:@"linkdin_Email"]; + section2.title = @"Twitter"; + section2.backgroundColor = [UIColor orangeColor]; + + UIImageView *overlayViewSection2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 50, [self headerHeight] - 1)]; + overlayViewSection2.backgroundColor = [UIColor blueColor]; + overlayViewSection2.image = [UIImage imageNamed:@"twitter"]; + overlayViewSection2.contentMode = UIViewContentModeCenter; + overlayViewSection2.backgroundColor = [UIColor clearColor]; + section2.overlayView = overlayViewSection2; + + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)]; + [button setTitle:@"Reload sections one and two" forState:UIControlStateNormal]; + [button addTarget:self action:@selector(updateSectionsOneAndTwo) forControlEvents:UIControlEventTouchUpInside]; + [viewOfSection2 addSubview:button]; + + return section2; +} - UIView *viewOfSection3 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)]; +- (KMSection *)sectionThree +{ + UIView *viewOfSection3 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)]; viewOfSection3.backgroundColor = [UIColor greenColor]; - - UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; - [button setTitle:@"click meeeeeee" forState:UIControlStateNormal]; - [button addTarget:self action:@selector(teste) forControlEvents:UIControlEventTouchUpInside]; - [viewOfSection3 addSubview:button]; - + KMSection *section3 = [[KMSection alloc] init]; section3.view = viewOfSection3; - section3.title = @"thirddddd"; - section3.colorForBackground = [UIColor blueColor]; - section3.image = [UIImage imageNamed:@"Skype_Email"]; - - UIView *viewOfSection5 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)]; - viewOfSection5.backgroundColor = [UIColor redColor]; - KMSection *section5 = [[KMSection alloc] init]; - section5.view = viewOfSection5; - section5.title = @"Sec. Section"; - section5.colorForBackground = [UIColor yellowColor]; - section5.image = [UIImage imageNamed:@"facebook_email"]; - - UIView *viewOfSection6 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 700)]; - viewOfSection6.backgroundColor = [UIColor greenColor]; - KMSection *section6 = [[KMSection alloc] init]; - section6.view = viewOfSection6; - section6.title = @"thirddddd"; - section6.colorForBackground = [UIColor purpleColor]; - section6.image = [UIImage imageNamed:@"Skype_Email"]; + section3.title = @"Reload All Section"; + section3.backgroundColor = [UIColor blueColor]; + + UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)]; + [button setTitle:@"Reload all sections" forState:UIControlStateNormal]; + [button addTarget:self action:@selector(updateAllSections) forControlEvents:UIControlEventTouchUpInside]; + [viewOfSection3 addSubview:button]; + + return section3; +} - return @[section1, section2, section3, section5, section6]; +- (KMSection *)sectionFour +{ + UIView *viewOfSection4 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 300)]; + viewOfSection4.backgroundColor = [UIColor redColor]; + KMSection *section4 = [[KMSection alloc] init]; + section4.view = viewOfSection4; + section4.title = @"Last Section"; + section4.backgroundColor = [UIColor yellowColor]; + + return section4; } #pragma mark - KMAccordionTableViewControllerDelegate @@ -135,9 +210,4 @@ - (void)accordionTableViewControllerSectionDidOpen:(KMSection *)section NSLog(@"%s",__PRETTY_FUNCTION__); } -- (void)accordionTableViewControllerSectionDidChangeOpen:(KMSection *)section -{ - NSLog(@"%s",__PRETTY_FUNCTION__); -} - @end diff --git a/Examlple/KMAccordionTableViewController/carat-open.png b/Examlple/KMAccordionTableViewController/Resource/carat-open.png similarity index 100% rename from Examlple/KMAccordionTableViewController/carat-open.png rename to Examlple/KMAccordionTableViewController/Resource/carat-open.png diff --git a/Examlple/KMAccordionTableViewController/carat.png b/Examlple/KMAccordionTableViewController/Resource/carat.png similarity index 100% rename from Examlple/KMAccordionTableViewController/carat.png rename to Examlple/KMAccordionTableViewController/Resource/carat.png diff --git a/Examlple/KMAccordionTableViewController/Resource/facebook.png b/Examlple/KMAccordionTableViewController/Resource/facebook.png new file mode 100755 index 0000000000000000000000000000000000000000..ed4f3a3ae90a45c02d871a285a5c3d301a3f669e GIT binary patch literal 404 zcmV;F0c-w=P)!_w1>#iJo2z?T=y zO^r6Qa)xQssMg$EzGyoMmb`{PGdT=^0LGX(G2{o~#@;oM0B9vvcZvjLO@oMbk8hvf zK3fyF13g+U<<9Dkmo<%$u(EmiQ2EeG{1#d(;rl<2N{O~^0382RBEWh4e#Hz_0003!NklXQtlq&u3SeR&5kNHv zaIyyLNvex-6V$-Mz`*eP@BdaWjYvbO7oUGBx9($SVIp7y6BEPjH(wbT81BFQ#>B{o z-v&mArx_U;{`~vT%*e>Vz`)AP#Kg$(=ih$@1_pK(rhotc|M>k6#Yunv{V#J;jy96H z{_1n|lJiTV4b?@tH(z^YF2}DS#`FF6zf~8Xm2bJu#>|B9v=Aqof)J+^9|r>igET+8 zoFHemwY;1l=YIwUQ69EzYXuucAp*gA?#V~p?t?~shap@&DZc;sHJo_({`1ej&p!Tm z{NXzT0|PHR%m4rX@o8XYVq{=ofCm{wH3c#KADR4*AQ@0%g%KL8OpJ^x&Obf<_``?q zzZn=9>UP}X=U}<>_A4thBO?Pt$)@XEY|PhQeuhLTBh6DQ0KtH0OW8|@DgXcg07*qo IM6N<$f;^hBxc~qF literal 0 HcmV?d00001 diff --git a/Examlple/KMAccordionTableViewController/Resource/twitter.png b/Examlple/KMAccordionTableViewController/Resource/twitter.png new file mode 100755 index 0000000000000000000000000000000000000000..c76367617ecf377ba3dc0a2f0e7e9ed5dc2e2e7a GIT binary patch literal 448 zcmV;x0YCnUP)Y5S`iEJ5BU7 zD$$^&A&8pNKM-wgEJURj z%hx4hoMxAq_h#n3!Oe?&rfdTs^bi9SY4)3Gy3-RJU{EFmes9hMI9zy=r1A665Fs|{ zTMer+L5e7$Tc@>0kuVvXSU-O=nLq@ai{xTxA=n21+jGO3?j)`XFS^s5AS2F>D5>SC z=$PWCI1^B6XaE@ZNq&l&?$l($HYiGI3e6L6@|?~k Date: Thu, 25 Jun 2015 17:24:48 -0300 Subject: [PATCH 03/11] Example improved --- .../KMAccordionTableViewController.m | 4 +- .../project.pbxproj | 18 ++++-- .../Base.lproj/Main.storyboard | 60 +++++++++++++++++-- ...yViewController.h => MainViewController.h} | 2 +- ...yViewController.m => MainViewController.m} | 27 +++++++-- .../SectionViewController.h | 21 +++++++ .../SectionViewController.m | 23 +++++++ 7 files changed, 136 insertions(+), 19 deletions(-) rename Examlple/KMAccordionTableViewController/{MyViewController.h => MainViewController.h} (70%) rename Examlple/KMAccordionTableViewController/{MyViewController.m => MainViewController.m} (89%) create mode 100644 Examlple/KMAccordionTableViewController/SectionViewController.h create mode 100644 Examlple/KMAccordionTableViewController/SectionViewController.m diff --git a/Classes/ViewController/KMAccordionTableViewController.m b/Classes/ViewController/KMAccordionTableViewController.m index e092192..90c201e 100755 --- a/Classes/ViewController/KMAccordionTableViewController.m +++ b/Classes/ViewController/KMAccordionTableViewController.m @@ -145,7 +145,7 @@ - (void)reloadAllSections { if (self.sections.count > 0) { - NSMutableArray *cellToReloadArray; + NSMutableArray *cellToReloadArray = [NSMutableArray array]; for (KMSection *section in self.sections) { [cellToReloadArray addObject:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:section.sectionIndex]]]; @@ -160,7 +160,7 @@ - (void)reloadSectionsAtIndexes:(NSArray *)indexes { if (indexes.count > 0) { - NSMutableArray *cellToReloadArray; + NSMutableArray *cellToReloadArray = [NSMutableArray array]; for (NSNumber *index in indexes) { [cellToReloadArray addObject:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:[index intValue]]]]; diff --git a/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj b/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj index 82b9764..fd2a346 100644 --- a/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj +++ b/Examlple/KMAccordionTableViewController.xcodeproj/project.pbxproj @@ -13,7 +13,7 @@ BE1BDE801B3B965F00C7E15F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE7F1B3B965F00C7E15F /* Images.xcassets */; }; BE1BDE831B3B965F00C7E15F /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE811B3B965F00C7E15F /* LaunchScreen.xib */; }; BE1BDE8F1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE8E1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m */; }; - BE1BDE9A1B3B96BE00C7E15F /* MyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE991B3B96BE00C7E15F /* MyViewController.m */; }; + BE1BDE9A1B3B96BE00C7E15F /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE991B3B96BE00C7E15F /* MainViewController.m */; }; BE1BDEA81B3B96CD00C7E15F /* KMSectionHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDE9E1B3B96CD00C7E15F /* KMSectionHeaderView.m */; }; BE1BDEA91B3B96CD00C7E15F /* KMSectionHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BE1BDE9F1B3B96CD00C7E15F /* KMSectionHeaderView.xib */; }; BE1BDEAA1B3B96CD00C7E15F /* KMAppearence.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1BDEA21B3B96CD00C7E15F /* KMAppearence.m */; }; @@ -24,6 +24,7 @@ BE6F7E341B3C797500999A82 /* facebook.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E2F1B3C797500999A82 /* facebook.png */; }; BE6F7E351B3C797500999A82 /* linkedin.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E301B3C797500999A82 /* linkedin.png */; }; BE6F7E361B3C797500999A82 /* twitter.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6F7E311B3C797500999A82 /* twitter.png */; }; + BE6F7E391B3C953400999A82 /* SectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6F7E381B3C953400999A82 /* SectionViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -48,8 +49,8 @@ BE1BDE881B3B966000C7E15F /* KMAccordionTableViewControllerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KMAccordionTableViewControllerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BE1BDE8D1B3B966000C7E15F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; BE1BDE8E1B3B966000C7E15F /* KMAccordionTableViewControllerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KMAccordionTableViewControllerTests.m; sourceTree = ""; }; - BE1BDE981B3B96BE00C7E15F /* MyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyViewController.h; sourceTree = ""; }; - BE1BDE991B3B96BE00C7E15F /* MyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyViewController.m; sourceTree = ""; }; + BE1BDE981B3B96BE00C7E15F /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; }; + BE1BDE991B3B96BE00C7E15F /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; }; BE1BDE9D1B3B96CD00C7E15F /* KMSectionHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMSectionHeaderView.h; sourceTree = ""; }; BE1BDE9E1B3B96CD00C7E15F /* KMSectionHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMSectionHeaderView.m; sourceTree = ""; }; BE1BDE9F1B3B96CD00C7E15F /* KMSectionHeaderView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMSectionHeaderView.xib; sourceTree = ""; }; @@ -64,6 +65,8 @@ BE6F7E2F1B3C797500999A82 /* facebook.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = facebook.png; sourceTree = ""; }; BE6F7E301B3C797500999A82 /* linkedin.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = linkedin.png; sourceTree = ""; }; BE6F7E311B3C797500999A82 /* twitter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = twitter.png; sourceTree = ""; }; + BE6F7E371B3C953400999A82 /* SectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionViewController.h; sourceTree = ""; }; + BE6F7E381B3C953400999A82 /* SectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SectionViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -106,8 +109,10 @@ isa = PBXGroup; children = ( BE1BDE9B1B3B96CC00C7E15F /* Classes */, - BE1BDE981B3B96BE00C7E15F /* MyViewController.h */, - BE1BDE991B3B96BE00C7E15F /* MyViewController.m */, + BE1BDE981B3B96BE00C7E15F /* MainViewController.h */, + BE1BDE991B3B96BE00C7E15F /* MainViewController.m */, + BE6F7E371B3C953400999A82 /* SectionViewController.h */, + BE6F7E381B3C953400999A82 /* SectionViewController.m */, BE1BDE761B3B965F00C7E15F /* AppDelegate.h */, BE1BDE771B3B965F00C7E15F /* AppDelegate.m */, BE6F7E2C1B3C797500999A82 /* Resource */, @@ -304,12 +309,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BE1BDE9A1B3B96BE00C7E15F /* MyViewController.m in Sources */, + BE1BDE9A1B3B96BE00C7E15F /* MainViewController.m in Sources */, BE1BDEA81B3B96CD00C7E15F /* KMSectionHeaderView.m in Sources */, BE1BDEAC1B3B96CD00C7E15F /* KMAccordionTableViewController.m in Sources */, BE1BDE781B3B965F00C7E15F /* AppDelegate.m in Sources */, BE1BDEAB1B3B96CD00C7E15F /* KMSection.m in Sources */, BE1BDE751B3B965F00C7E15F /* main.m in Sources */, + BE6F7E391B3C953400999A82 /* SectionViewController.m in Sources */, BE1BDEAA1B3B96CD00C7E15F /* KMAppearence.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard b/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard index 1b3043b..b6c8827 100644 --- a/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard +++ b/Examlple/KMAccordionTableViewController/Base.lproj/Main.storyboard @@ -1,14 +1,15 @@ - + + - + - - + + @@ -17,9 +18,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examlple/KMAccordionTableViewController/MyViewController.h b/Examlple/KMAccordionTableViewController/MainViewController.h similarity index 70% rename from Examlple/KMAccordionTableViewController/MyViewController.h rename to Examlple/KMAccordionTableViewController/MainViewController.h index fef682c..b5989e3 100755 --- a/Examlple/KMAccordionTableViewController/MyViewController.h +++ b/Examlple/KMAccordionTableViewController/MainViewController.h @@ -8,6 +8,6 @@ #import "KMAccordionTableViewController.h" -@interface MyViewController : KMAccordionTableViewController +@interface MainViewController : KMAccordionTableViewController @end diff --git a/Examlple/KMAccordionTableViewController/MyViewController.m b/Examlple/KMAccordionTableViewController/MainViewController.m similarity index 89% rename from Examlple/KMAccordionTableViewController/MyViewController.m rename to Examlple/KMAccordionTableViewController/MainViewController.m index 5d635dc..05103a7 100755 --- a/Examlple/KMAccordionTableViewController/MyViewController.m +++ b/Examlple/KMAccordionTableViewController/MainViewController.m @@ -6,13 +6,14 @@ // // -#import "MyViewController.h" +#import "MainViewController.h" +#import "SectionViewController.h" -@interface MyViewController () +@interface MainViewController () @end -@implementation MyViewController +@implementation MainViewController - (NSInteger)numberOfSectionsInAccordionTableViewController:(KMAccordionTableViewController *)accordionTableView { @@ -188,10 +189,14 @@ - (KMSection *)sectionThree - (KMSection *)sectionFour { - UIView *viewOfSection4 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 300)]; - viewOfSection4.backgroundColor = [UIColor redColor]; + + UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; + SectionViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"ViewControllerIdentifier"]; + viewController.delegate = self; + [self addChildViewController:viewController]; + KMSection *section4 = [[KMSection alloc] init]; - section4.view = viewOfSection4; + section4.view = viewController.view; section4.title = @"Last Section"; section4.backgroundColor = [UIColor yellowColor]; @@ -210,4 +215,14 @@ - (void)accordionTableViewControllerSectionDidOpen:(KMSection *)section NSLog(@"%s",__PRETTY_FUNCTION__); } +#pragma mark - SectionViewControllerDelegate + +- (void)sectionViewControllerDidLayoutSubViews:(CGSize)size +{ + KMSection *section = self.sections[3]; + section.view.frame = CGRectMake(0, 0, size.width, size.height); + + [self reloadSectionsAtIndexes:@[@3]]; +} + @end diff --git a/Examlple/KMAccordionTableViewController/SectionViewController.h b/Examlple/KMAccordionTableViewController/SectionViewController.h new file mode 100644 index 0000000..01df49b --- /dev/null +++ b/Examlple/KMAccordionTableViewController/SectionViewController.h @@ -0,0 +1,21 @@ +// +// SectionViewController.h +// KMAccordionTableViewController +// +// Created by Klevison Matias on 6/25/15. +// Copyright (c) 2015 KM. All rights reserved. +// + +#import + +@protocol SectionViewControllerDelegate + +- (void)sectionViewControllerDidLayoutSubViews:(CGSize)size; + +@end + +@interface SectionViewController : UIViewController + +@property(nonatomic, assign) id delegate; + +@end diff --git a/Examlple/KMAccordionTableViewController/SectionViewController.m b/Examlple/KMAccordionTableViewController/SectionViewController.m new file mode 100644 index 0000000..189494c --- /dev/null +++ b/Examlple/KMAccordionTableViewController/SectionViewController.m @@ -0,0 +1,23 @@ +// +// SectionViewController.m +// KMAccordionTableViewController +// +// Created by Klevison Matias on 6/25/15. +// Copyright (c) 2015 KM. All rights reserved. +// + +#import "SectionViewController.h" + +@interface SectionViewController () + +@end + +@implementation SectionViewController + +- (void)viewDidLayoutSubviews { + [super viewDidLayoutSubviews]; + [self.delegate sectionViewControllerDidLayoutSubViews:self.view.bounds.size]; +} + + +@end From 1804f9040c0bcbdb6fbb79b0ed80e8312cd8fe14 Mon Sep 17 00:00:00 2001 From: Klevison Matias Date: Thu, 25 Jun 2015 19:56:34 -0300 Subject: [PATCH 04/11] Removing invalid updated methods --- .../KMAccordionTableViewController.h | 5 +- .../KMAccordionTableViewController.m | 39 ++------------- .../MainViewController.m | 48 +++++-------------- 3 files changed, 16 insertions(+), 76 deletions(-) diff --git a/Classes/ViewController/KMAccordionTableViewController.h b/Classes/ViewController/KMAccordionTableViewController.h index f3204e8..617d009 100755 --- a/Classes/ViewController/KMAccordionTableViewController.h +++ b/Classes/ViewController/KMAccordionTableViewController.h @@ -50,10 +50,6 @@ */ - (void)reloadOpenedSection; -- (void)reloadAllSections; - -- (void)reloadSectionsAtIndexes:(NSArray *)indexes; - /** Sets AccordionTableView's delegate. */ @@ -69,6 +65,7 @@ */ @property(nonatomic, strong) NSArray *sections; @property(nonatomic, strong) KMAppearence *sectionAppearence; +@property (nonatomic) NSInteger openedSectionIndex; /** Sets section header height. diff --git a/Classes/ViewController/KMAccordionTableViewController.m b/Classes/ViewController/KMAccordionTableViewController.m index 90c201e..d673f54 100755 --- a/Classes/ViewController/KMAccordionTableViewController.m +++ b/Classes/ViewController/KMAccordionTableViewController.m @@ -11,7 +11,6 @@ @interface KMAccordionTableViewController () -@property (nonatomic) NSInteger openSectionIndex; @property UITableViewRowAnimation closeAnimation; @property UITableViewRowAnimation openAnimation; @@ -48,7 +47,7 @@ - (void)setup self.sectionAppearence = [KMAppearence new]; self.openAnimation = UITableViewRowAnimationFade; self.closeAnimation = UITableViewRowAnimationFade; - self.openSectionIndex = NSNotFound; + self.openedSectionIndex = NSNotFound; } - (void)viewDidLoad @@ -141,36 +140,6 @@ - (void)reloadOpenedSection } } -- (void)reloadAllSections -{ - if (self.sections.count > 0) { - - NSMutableArray *cellToReloadArray = [NSMutableArray array]; - - for (KMSection *section in self.sections) { - [cellToReloadArray addObject:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:section.sectionIndex]]]; - } - - [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:self.openAnimation]; - - } -} - -- (void)reloadSectionsAtIndexes:(NSArray *)indexes -{ - if (indexes.count > 0) { - - NSMutableArray *cellToReloadArray = [NSMutableArray array]; - - for (NSNumber *index in indexes) { - [cellToReloadArray addObject:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:[index intValue]]]]; - } - - [self.tableView reloadRowsAtIndexPaths:cellToReloadArray withRowAnimation:self.openAnimation]; - - } -} - #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView @@ -286,7 +255,7 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init]; - NSInteger previousOpenSectionIndex = self.openSectionIndex; + NSInteger previousOpenSectionIndex = self.openedSectionIndex; if (previousOpenSectionIndex != NSNotFound) { KMSection *previousOpenSection = (self.sections)[previousOpenSectionIndex]; @@ -306,7 +275,7 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened CGRect sectionRect = [self.tableView rectForSection:sectionOpened]; [self.tableView scrollRectToVisible:sectionRect animated:YES]; - self.openSectionIndex = sectionOpened; + self.openedSectionIndex = sectionOpened; if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidOpen:)]) { [self.delegate accordionTableViewControllerSectionDidOpen:section]; @@ -327,7 +296,7 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.closeAnimation]; } - self.openSectionIndex = NSNotFound; + self.openedSectionIndex = NSNotFound; if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidClose:)]) { [self.delegate accordionTableViewControllerSectionDidClose:currentSection]; diff --git a/Examlple/KMAccordionTableViewController/MainViewController.m b/Examlple/KMAccordionTableViewController/MainViewController.m index 05103a7..d805149 100755 --- a/Examlple/KMAccordionTableViewController/MainViewController.m +++ b/Examlple/KMAccordionTableViewController/MainViewController.m @@ -59,9 +59,9 @@ - (void)setupAppearence [self setHeaderArrowImageClosed:[UIImage imageNamed:@"carat-open"]]; [self setHeaderArrowImageOpened:[UIImage imageNamed:@"carat"]]; [self setHeaderFont:[UIFont fontWithName:@"HelveticaNeue" size:15]]; - [self setHeaderTitleColor:[UIColor greenColor]]; + [self setHeaderTitleColor:[UIColor blackColor]]; [self setHeaderSeparatorColor:[UIColor colorWithRed:0.157 green:0.157 blue:0.157 alpha:1]]; - [self setHeaderColor:[UIColor colorWithRed:0.114 green:0.114 blue:0.114 alpha:1]]; //general background color for all of the sections + [self setHeaderColor:[UIColor lightGrayColor]]; //general background color for all of the sections [self setOneSectionAlwaysOpen:NO]; // set if one section should always be open. if set to YES, the VC will load with the first section already open, and the open section will not close unless you click a different section } @@ -73,29 +73,6 @@ - (void)updateSectionOne [self reloadOpenedSection]; } -- (void)updateAllSections -{ - KMSection *section1 = self.sections[0]; - UIView *view1 = section1.view; - view1.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); - - KMSection *section2 = self.sections[1]; - UIView *view2 = section2.view; - view2.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); - - KMSection *section3 = self.sections[2]; - UIView *view3 = section3.view; - view3.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); - - KMSection *section4 = self.sections[3]; - UIView *view4 = section4.view; - view4.frame = CGRectMake(0, 0, self.view.frame.size.width, 50); - - [self reloadSectionsAtIndexes:@[@1,@2,@3,@4]]; - - [self reloadAllSections]; -} - - (void)updateSectionsOneAndTwo { KMSection *section1 = self.sections[0]; @@ -106,7 +83,7 @@ - (void)updateSectionsOneAndTwo UIView *view2 = section2.view; view2.frame = CGRectMake(0, 0, self.view.frame.size.width, 100); - [self reloadSectionsAtIndexes:@[@1,@2]]; + [self reloadOpenedSection]; } - (NSArray *)getSectionArray @@ -128,7 +105,7 @@ - (KMSection *)sectionOne KMSection *section1 = [KMSection new]; section1.view = viewOfSection1; section1.title = @"Facebook"; - section1.backgroundColor = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set + //section1.backgroundColor = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set UIImageView *overlayViewSection1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 50, [self headerHeight] - 1)]; overlayViewSection1.backgroundColor = [UIColor whiteColor]; @@ -152,7 +129,7 @@ - (KMSection *)sectionTwo KMSection *section2 = [[KMSection alloc] init]; section2.view = viewOfSection2; section2.title = @"Twitter"; - section2.backgroundColor = [UIColor orangeColor]; + //section1.backgroundColor = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set UIImageView *overlayViewSection2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 50, [self headerHeight] - 1)]; overlayViewSection2.backgroundColor = [UIColor blueColor]; @@ -177,12 +154,7 @@ - (KMSection *)sectionThree KMSection *section3 = [[KMSection alloc] init]; section3.view = viewOfSection3; section3.title = @"Reload All Section"; - section3.backgroundColor = [UIColor blueColor]; - - UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)]; - [button setTitle:@"Reload all sections" forState:UIControlStateNormal]; - [button addTarget:self action:@selector(updateAllSections) forControlEvents:UIControlEventTouchUpInside]; - [viewOfSection3 addSubview:button]; + //section1.backgroundColor = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set return section3; } @@ -198,7 +170,7 @@ - (KMSection *)sectionFour KMSection *section4 = [[KMSection alloc] init]; section4.view = viewController.view; section4.title = @"Last Section"; - section4.backgroundColor = [UIColor yellowColor]; + //section1.backgroundColor = [UIColor redColor]; // individual background color for a specific section, overrides the general color if set return section4; } @@ -221,8 +193,10 @@ - (void)sectionViewControllerDidLayoutSubViews:(CGSize)size { KMSection *section = self.sections[3]; section.view.frame = CGRectMake(0, 0, size.width, size.height); - - [self reloadSectionsAtIndexes:@[@3]]; + + if (self.openedSectionIndex == 3) { + [self reloadOpenedSection]; + } } @end From 633a4d3e28e20202d28301186d6bdbb8da3539f3 Mon Sep 17 00:00:00 2001 From: Klevison Matias Date: Thu, 25 Jun 2015 20:30:22 -0300 Subject: [PATCH 05/11] DisclosureButton state updated --- Classes/Model/KMSection.m | 3 ++- .../KMAccordionTableViewController.m | 14 +++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Classes/Model/KMSection.m b/Classes/Model/KMSection.m index 4c46b17..c6371d3 100755 --- a/Classes/Model/KMSection.m +++ b/Classes/Model/KMSection.m @@ -10,7 +10,8 @@ @implementation KMSection -- (instancetype)init { +- (instancetype)init +{ self = [super init]; if (self) { _open = NO; diff --git a/Classes/ViewController/KMAccordionTableViewController.m b/Classes/ViewController/KMAccordionTableViewController.m index d673f54..c335445 100755 --- a/Classes/ViewController/KMAccordionTableViewController.m +++ b/Classes/ViewController/KMAccordionTableViewController.m @@ -200,6 +200,8 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger [sectionHeaderView setSection:sectionIndex]; [sectionHeaderView setDelegate:self]; + sectionHeaderView.disclosureButton.selected = currentSection.isOpen; + UIColor *tempcolor = self.sectionAppearence.headerColor; if (currentSection.backgroundColor) { [self.sectionAppearence setHeaderColor:currentSection.backgroundColor]; @@ -250,20 +252,21 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened section.open = YES; - NSMutableArray *indexPathsToInsert = [[NSMutableArray alloc] init]; + NSMutableArray *indexPathsToInsert = [NSMutableArray array]; [indexPathsToInsert addObject:[NSIndexPath indexPathForRow:0 inSection:sectionOpened]]; - NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init]; + NSMutableArray *indexPathsToDelete = [NSMutableArray array]; NSInteger previousOpenSectionIndex = self.openedSectionIndex; if (previousOpenSectionIndex != NSNotFound) { KMSection *previousOpenSection = (self.sections)[previousOpenSectionIndex]; + KMSectionHeaderView *praviousSectionHeaderView = (KMSectionHeaderView *)[self.tableView headerViewForSection:previousOpenSectionIndex]; + praviousSectionHeaderView.disclosureButton.selected = NO; previousOpenSection.open = NO; [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:0 inSection:previousOpenSectionIndex]]; if ([self.delegate respondsToSelector:@selector(accordionTableViewControllerSectionDidClose:)]) { - KMSection *previuosSection = (self.sections)[previousOpenSectionIndex]; - [self.delegate accordionTableViewControllerSectionDidClose:previuosSection]; + [self.delegate accordionTableViewControllerSectionDidClose:previousOpenSection]; } } @@ -285,7 +288,7 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionOpened - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed:(NSInteger)sectionClosed { - KMSection *currentSection = (self.sections)[sectionClosed]; + KMSection *currentSection = self.sections[sectionClosed]; currentSection.open = NO; NSInteger countOfRowsToDelete = [self.tableView numberOfRowsInSection:sectionClosed]; @@ -294,6 +297,7 @@ - (void)sectionHeaderView:(KMSectionHeaderView *)sectionHeaderView sectionClosed NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init]; [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:0 inSection:sectionClosed]]; [self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:self.closeAnimation]; + sectionHeaderView.disclosureButton.selected = NO; } self.openedSectionIndex = NSNotFound; From c5c8764473091f1680db62e739c7b5898e29c42c Mon Sep 17 00:00:00 2001 From: Klevison Matias Date: Thu, 25 Jun 2015 20:47:58 -0300 Subject: [PATCH 06/11] Bug removed - remove bug when SectionAlwaysOpen is YES and section did dequeue --- Classes/ViewController/KMAccordionTableViewController.m | 2 +- Examlple/KMAccordionTableViewController/MainViewController.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/ViewController/KMAccordionTableViewController.m b/Classes/ViewController/KMAccordionTableViewController.m index c335445..eea482b 100755 --- a/Classes/ViewController/KMAccordionTableViewController.m +++ b/Classes/ViewController/KMAccordionTableViewController.m @@ -215,7 +215,7 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger } [self configureSectionsCell:currentSection]; - if (oneSectionAlwaysOpen && (sectionIndex == 0)) { + if (oneSectionAlwaysOpen && (sectionIndex == 0) && self.openedSectionIndex == NSNotFound) { [self sectionHeaderView:sectionHeaderView sectionOpened:0]; } diff --git a/Examlple/KMAccordionTableViewController/MainViewController.m b/Examlple/KMAccordionTableViewController/MainViewController.m index d805149..4352b0b 100755 --- a/Examlple/KMAccordionTableViewController/MainViewController.m +++ b/Examlple/KMAccordionTableViewController/MainViewController.m @@ -62,7 +62,7 @@ - (void)setupAppearence [self setHeaderTitleColor:[UIColor blackColor]]; [self setHeaderSeparatorColor:[UIColor colorWithRed:0.157 green:0.157 blue:0.157 alpha:1]]; [self setHeaderColor:[UIColor lightGrayColor]]; //general background color for all of the sections - [self setOneSectionAlwaysOpen:NO]; // set if one section should always be open. if set to YES, the VC will load with the first section already open, and the open section will not close unless you click a different section + [self setOneSectionAlwaysOpen:YES]; // set if one section should always be open. if set to YES, the VC will load with the first section already open, and the open section will not close unless you click a different section } - (void)updateSectionOne From 510d3cad6304a51f6f515a05c87664d404375a3f Mon Sep 17 00:00:00 2001 From: Klevison Matias Date: Fri, 26 Jun 2015 00:15:36 -0300 Subject: [PATCH 07/11] Fixing AutoLayout warning --- Classes/Header/KMSectionHeaderView.xib | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Classes/Header/KMSectionHeaderView.xib b/Classes/Header/KMSectionHeaderView.xib index 93ce227..6752086 100755 --- a/Classes/Header/KMSectionHeaderView.xib +++ b/Classes/Header/KMSectionHeaderView.xib @@ -1,7 +1,6 @@ - @@ -23,9 +22,9 @@