diff --git a/.travis.yml b/.travis.yml index c7610f5..fe4db26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ install: - bundle exec pod install script: - "./build.sh" -osx_image: xcode7 +osx_image: xcode8.3 env: global: - REPO_SLUG="2359media/STXDynamicTableView" diff --git a/STXDynamicTableView/Cells/STXCaptionCell.h b/STXDynamicTableView/Cells/STXCaptionCell.h index a095556..e2199d8 100644 --- a/STXDynamicTableView/Cells/STXCaptionCell.h +++ b/STXDynamicTableView/Cells/STXCaptionCell.h @@ -7,6 +7,7 @@ // @import UIKit; +#import "STXUserItem.h" @class STXCaptionCell; diff --git a/STXDynamicTableView/Cells/STXCaptionCell.m b/STXDynamicTableView/Cells/STXCaptionCell.m index dda27f6..ae8a996 100644 --- a/STXDynamicTableView/Cells/STXCaptionCell.m +++ b/STXDynamicTableView/Cells/STXCaptionCell.m @@ -8,6 +8,8 @@ #import "STXCaptionCell.h" #import "STXAttributedLabel.h" +#import +#import static CGFloat STXCaptionViewLeadingEdgeInset = 10.f; static CGFloat STXCaptionViewTrailingEdgeInset = 10.f; diff --git a/STXDynamicTableView/Cells/STXCommentCell.h b/STXDynamicTableView/Cells/STXCommentCell.h index b93787c..d5a3fd4 100644 --- a/STXDynamicTableView/Cells/STXCommentCell.h +++ b/STXDynamicTableView/Cells/STXCommentCell.h @@ -7,6 +7,7 @@ // @import UIKit; +#import "STXCommentItem.h" typedef NS_ENUM(int16_t, STXCommentCellStyle) { STXCommentCellStyleSingleComment, diff --git a/STXDynamicTableView/Cells/STXCommentCell.m b/STXDynamicTableView/Cells/STXCommentCell.m index 069f56a..8858a65 100644 --- a/STXDynamicTableView/Cells/STXCommentCell.m +++ b/STXDynamicTableView/Cells/STXCommentCell.m @@ -8,6 +8,9 @@ #import "STXCommentCell.h" #import "STXAttributedLabel.h" +#import "STXUserItem.h" +#import +#import static CGFloat STXCommentViewLeadingEdgeInset = 10.f; static CGFloat STXCommentViewTrailingEdgeInset = 10.f; diff --git a/STXDynamicTableView/Cells/STXFeedPhotoCell.h b/STXDynamicTableView/Cells/STXFeedPhotoCell.h index 227fe60..3d12176 100644 --- a/STXDynamicTableView/Cells/STXFeedPhotoCell.h +++ b/STXDynamicTableView/Cells/STXFeedPhotoCell.h @@ -7,6 +7,8 @@ // @import UIKit; +#import "STXUserItem.h" +#import "STXPostItem.h" @protocol STXFeedPhotoCellDelegate diff --git a/STXDynamicTableView/Cells/STXFeedPhotoCell.m b/STXDynamicTableView/Cells/STXFeedPhotoCell.m index 23e2b25..3aa6c76 100644 --- a/STXDynamicTableView/Cells/STXFeedPhotoCell.m +++ b/STXDynamicTableView/Cells/STXFeedPhotoCell.m @@ -9,6 +9,8 @@ #import "STXFeedPhotoCell.h" #import "UIImageView+Masking.h" +#import +#import @interface STXFeedPhotoCell () diff --git a/STXDynamicTableView/Cells/STXFeedPhotoCell.xib b/STXDynamicTableView/Cells/STXFeedPhotoCell.xib index 0898a82..1deba3e 100644 --- a/STXDynamicTableView/Cells/STXFeedPhotoCell.xib +++ b/STXDynamicTableView/Cells/STXFeedPhotoCell.xib @@ -1,8 +1,12 @@ - - + + + + + - + + @@ -15,11 +19,11 @@ - + - + @@ -32,19 +36,19 @@ - + @@ -74,4 +78,9 @@ + + + + + diff --git a/STXDynamicTableView/Cells/STXLikesCell.m b/STXDynamicTableView/Cells/STXLikesCell.m index 7b574fb..8487037 100644 --- a/STXDynamicTableView/Cells/STXLikesCell.m +++ b/STXDynamicTableView/Cells/STXLikesCell.m @@ -7,6 +7,9 @@ // #import "STXLikesCell.h" +#import +#import +#import static CGFloat STXLikesViewLeadingEdgeInset = 10.f; static CGFloat STXLikesViewTrailingEdgeInset = 10.f; @@ -87,7 +90,7 @@ - (void)setLikes:(NSDictionary *)likes - (void)setLikesLabel:(TTTAttributedLabel *)likesLabel count:(NSInteger)count { NSString *countString = [@(count) stringValue]; - NSString *title = [NSString stringWithFormat:NSLocalizedString(@"%@ loves", nil), countString]; + NSString *title = [NSString stringWithFormat:NSLocalizedString(@"%@ likes", nil), countString]; likesLabel.text = title; } @@ -109,9 +112,9 @@ - (void)setLikersLabel:(TTTAttributedLabel *)likersLabel likers:(NSArray *)liker if ([likersString length] > 0) { if ([likerNames count] == 1) { - [likersString appendString:NSLocalizedString(@" loves this", nil)]; + [likersString appendString:NSLocalizedString(@" likes this", nil)]; } else { - [likersString appendString:NSLocalizedString(@" love this", nil)]; + [likersString appendString:NSLocalizedString(@" like this", nil)]; } } diff --git a/STXDynamicTableView/Cells/STXUserActionCell.h b/STXDynamicTableView/Cells/STXUserActionCell.h index a9c080d..7c4c66b 100644 --- a/STXDynamicTableView/Cells/STXUserActionCell.h +++ b/STXDynamicTableView/Cells/STXUserActionCell.h @@ -7,6 +7,7 @@ // @import UIKit; +#import "STXPostItem.h" @class STXUserActionCell; diff --git a/STXDynamicTableView/Cells/STXUserActionCell.m b/STXDynamicTableView/Cells/STXUserActionCell.m index 31c71f8..2147238 100644 --- a/STXDynamicTableView/Cells/STXUserActionCell.m +++ b/STXDynamicTableView/Cells/STXUserActionCell.m @@ -8,8 +8,6 @@ #import "STXUserActionCell.h" -#import "UIButton+STXButton.h" - @interface STXUserActionCell () @property (weak, nonatomic) IBOutlet UIButton *likeButton; @@ -49,28 +47,17 @@ - (void)setSelected:(BOOL)selected animated:(BOOL)animated - (void)setPostItem:(id)postItem { _postItem = postItem; - - NSString *likeButtonTitle = postItem.liked ? NSLocalizedString(@"Loved", nil) : NSLocalizedString(@"Love", nil); - [self.likeButton setTitle:likeButtonTitle forState:UIControlStateNormal]; - - if (postItem.liked) { - [self.likeButton stx_setSelectedAppearance]; - } else { - [self.likeButton stx_setNormalAppearance]; - } + + [self.likeButton setImage:[UIImage imageNamed:(postItem.liked ? @"ic_favorite" : @"ic_favorite_border") inBundle:[NSBundle bundleForClass:[STXUserActionCell class]] compatibleWithTraitCollection:nil] + forState:UIControlStateNormal]; } #pragma mark - Action - (void)setButton:(UIButton *)button toLoved:(BOOL)loved { - if (loved) { - [button setTitle:NSLocalizedString(@"Loved", nil) forState:UIControlStateNormal]; - [button stx_setSelectedAppearance]; - } else { - [button setTitle:NSLocalizedString(@"Love", nil) forState:UIControlStateNormal]; - [button stx_setNormalAppearance]; - } + [self.likeButton setImage:[UIImage imageNamed:(loved ? @"ic_favorite" : @"ic_favorite_border") inBundle:[NSBundle bundleForClass:[STXUserActionCell class]] compatibleWithTraitCollection:nil] + forState:UIControlStateNormal]; } - (IBAction)like:(id)sender @@ -81,9 +68,6 @@ - (IBAction)like:(id)sender return; } - // Prevent rapid interaction - [sender setUserInteractionEnabled:NO]; - if (![self.postItem liked]) { [self setButton:sender toLoved:YES]; diff --git a/STXDynamicTableView/Cells/STXUserActionCell.xib b/STXDynamicTableView/Cells/STXUserActionCell.xib index e24fcee..ab16cec 100644 --- a/STXDynamicTableView/Cells/STXUserActionCell.xib +++ b/STXDynamicTableView/Cells/STXUserActionCell.xib @@ -1,9 +1,13 @@ - - + + + + + - + + @@ -15,35 +19,44 @@ - - - + + - - - - + + @@ -78,4 +91,14 @@ + + + + + + + + + + diff --git a/STXDynamicTableView/Images.xcassets/ic_comment.imageset/Contents.json b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/Contents.json new file mode 100644 index 0000000..3794daa --- /dev/null +++ b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "ic_comment.png", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "ic_comment_2x.png", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "ic_comment_3x.png", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment.png b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment.png new file mode 100644 index 0000000..00d6902 Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment_2x.png b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment_2x.png new file mode 100644 index 0000000..7c9804b Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment_2x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment_3x.png b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment_3x.png new file mode 100644 index 0000000..e96ccd2 Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_comment.imageset/ic_comment_3x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/Contents.json b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/Contents.json new file mode 100644 index 0000000..be5986a --- /dev/null +++ b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "ic_favorite.png", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "ic_favorite_2x.png", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "ic_favorite_3x.png", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite.png b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite.png new file mode 100644 index 0000000..b3659bc Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite_2x.png b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite_2x.png new file mode 100644 index 0000000..460bfb6 Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite_2x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite_3x.png b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite_3x.png new file mode 100644 index 0000000..1139f5f Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_favorite.imageset/ic_favorite_3x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/Contents.json b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/Contents.json new file mode 100644 index 0000000..e4d9fad --- /dev/null +++ b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "ic_favorite_border.png", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "ic_favorite_border_2x.png", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "ic_favorite_border_3x.png", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border.png b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border.png new file mode 100644 index 0000000..5659cdb Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border_2x.png b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border_2x.png new file mode 100644 index 0000000..6c157b7 Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border_2x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border_3x.png b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border_3x.png new file mode 100644 index 0000000..3d3036e Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_favorite_border.imageset/ic_favorite_border_3x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_share.imageset/Contents.json b/STXDynamicTableView/Images.xcassets/ic_share.imageset/Contents.json new file mode 100644 index 0000000..906d24c --- /dev/null +++ b/STXDynamicTableView/Images.xcassets/ic_share.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "ic_share.png", + "idiom": "universal", + "scale": "1x" + }, + { + "filename": "ic_share_2x.png", + "idiom": "universal", + "scale": "2x" + }, + { + "filename": "ic_share_3x.png", + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share.png b/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share.png new file mode 100644 index 0000000..f02d360 Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share_2x.png b/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share_2x.png new file mode 100644 index 0000000..81c80b7 Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share_2x.png differ diff --git a/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share_3x.png b/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share_3x.png new file mode 100644 index 0000000..784933a Binary files /dev/null and b/STXDynamicTableView/Images.xcassets/ic_share.imageset/ic_share_3x.png differ diff --git a/STXDynamicTableView/Labels/STXAttributedLabel.h b/STXDynamicTableView/Labels/STXAttributedLabel.h index 738073e..944232f 100644 --- a/STXDynamicTableView/Labels/STXAttributedLabel.h +++ b/STXDynamicTableView/Labels/STXAttributedLabel.h @@ -6,7 +6,7 @@ // Copyright (c) 2014 2359 Media. All rights reserved. // -#import "TTTAttributedLabel.h" +#import @interface STXAttributedLabel : TTTAttributedLabel diff --git a/STXDynamicTableView/Labels/STXAttributedLabel.m b/STXDynamicTableView/Labels/STXAttributedLabel.m index d1e8f78..4efbb98 100644 --- a/STXDynamicTableView/Labels/STXAttributedLabel.m +++ b/STXDynamicTableView/Labels/STXAttributedLabel.m @@ -15,7 +15,7 @@ @implementation STXAttributedLabel - (instancetype)initForParagraphStyleWithText:(NSString *)text { - self = [super init]; + self = [super initWithFrame:CGRectZero]; if (self) { if ([text stringContainsEmoji]) { UIFont *commentFont = self.font; diff --git a/STXDynamicTableView/Protocols/STXFeedTableViewDataSource.m b/STXDynamicTableView/Protocols/STXFeedTableViewDataSource.m index 8f3db33..416cb82 100644 --- a/STXDynamicTableView/Protocols/STXFeedTableViewDataSource.m +++ b/STXDynamicTableView/Protocols/STXFeedTableViewDataSource.m @@ -15,8 +15,9 @@ #import "STXUserActionCell.h" #define PHOTO_CELL_ROW 0 -#define LIKES_CELL_ROW 1 -#define CAPTION_CELL_ROW 2 +#define USERACTION_CELL_ROW 1 +#define LIKES_CELL_ROW 2 +#define CAPTION_CELL_ROW 3 #define NUMBER_OF_STATIC_ROWS 4 #define MAX_NUMBER_OF_COMMENTS 5 @@ -37,11 +38,14 @@ - (instancetype)initWithController:(id postItem = self.posts[indexPath.section]; STXUserActionCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([STXUserActionCell class]) forIndexPath:indexPath]; + cell.postItem = postItem; cell.delegate = self.controller; + cell.indexPath = indexPath; return cell; } @@ -179,7 +186,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N { UITableViewCell *cell; - NSInteger captionRowOffset = 3; + NSInteger captionRowOffset = 4; id postItem = self.posts[indexPath.section]; NSInteger commentsCount = MIN(MAX_NUMBER_OF_COMMENTS, [postItem totalComments]); @@ -187,17 +194,17 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N if (indexPath.row == PHOTO_CELL_ROW) { cell = [self photoCellForTableView:tableView atIndexPath:indexPath]; + } else if (indexPath.row == USERACTION_CELL_ROW) { + cell = [self userActionCellForTableView:tableView atIndexPath:indexPath]; } else if (indexPath.row == LIKES_CELL_ROW) { cell = [self likesCellForTableView:tableView atIndexPath:indexPath]; } else if (indexPath.row == CAPTION_CELL_ROW) { cell = [self captionCellForTableView:tableView atIndexPath:indexPath]; - } else if (indexPath.row > CAPTION_CELL_ROW && indexPath.row < commentsRowLimit) { + } else { NSIndexPath *commentIndexPath = [NSIndexPath indexPathForRow:indexPath.row-captionRowOffset inSection:indexPath.section]; cell = [self commentCellForTableView:tableView atIndexPath:commentIndexPath]; - } else { - cell = [self userActionCellForTableView:tableView atIndexPath:indexPath]; } - + [cell setNeedsUpdateConstraints]; [cell updateConstraintsIfNeeded]; diff --git a/STXDynamicTableView/Protocols/STXFeedTableViewDelegate.m b/STXDynamicTableView/Protocols/STXFeedTableViewDelegate.m index 344316b..c8bbf25 100644 --- a/STXDynamicTableView/Protocols/STXFeedTableViewDelegate.m +++ b/STXDynamicTableView/Protocols/STXFeedTableViewDelegate.m @@ -67,6 +67,14 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath [tableView deselectRowAtIndexPath:indexPath animated:NO]; } +- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath +{ + id tableViewDelegate = (id)self.controller; + if ([tableViewDelegate respondsToSelector:@selector(tableView:willDisplayCell:forRowAtIndexPath:)]) { + [tableViewDelegate tableView:tableView willDisplayCell:cell forRowAtIndexPath:indexPath]; + } +} + #pragma mark - Row Updates - (void)reloadAtIndexPath:(NSIndexPath *)indexPath forTableView:(UITableView *)tableView diff --git a/STXDynamicTableViewExample.xcodeproj/project.pbxproj b/STXDynamicTableViewExample.xcodeproj/project.pbxproj index aa1895a..d08ca80 100644 --- a/STXDynamicTableViewExample.xcodeproj/project.pbxproj +++ b/STXDynamicTableViewExample.xcodeproj/project.pbxproj @@ -15,10 +15,10 @@ 010BA83D18ED10800030AF40 /* NSString+Emoji.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BA83B18ED10800030AF40 /* NSString+Emoji.m */; }; 010BA84718ED43AC0030AF40 /* STXFeedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BA84618ED43AC0030AF40 /* STXFeedViewController.m */; }; 010BA85A18ED5D680030AF40 /* UIViewController+Indicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BA85918ED5D680030AF40 /* UIViewController+Indicator.m */; }; - 011A76A51BC41EC300B0A046 /* Feed.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 011A76A41BC41EC300B0A046 /* Feed.storyboard */; settings = {ASSET_TAGS = (); }; }; - 011A76A71BC4213700B0A046 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 011A76A61BC4213700B0A046 /* LaunchScreen.storyboard */; settings = {ASSET_TAGS = (); }; }; - 011A76AD1BC4283F00B0A046 /* STXFeedTableViewDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 011A76AA1BC4283F00B0A046 /* STXFeedTableViewDataSource.m */; settings = {ASSET_TAGS = (); }; }; - 011A76AE1BC4283F00B0A046 /* STXFeedTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 011A76AC1BC4283F00B0A046 /* STXFeedTableViewDelegate.m */; settings = {ASSET_TAGS = (); }; }; + 011A76A51BC41EC300B0A046 /* Feed.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 011A76A41BC41EC300B0A046 /* Feed.storyboard */; }; + 011A76A71BC4213700B0A046 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 011A76A61BC4213700B0A046 /* LaunchScreen.storyboard */; }; + 011A76AD1BC4283F00B0A046 /* STXFeedTableViewDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 011A76AA1BC4283F00B0A046 /* STXFeedTableViewDataSource.m */; }; + 011A76AE1BC4283F00B0A046 /* STXFeedTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 011A76AC1BC4283F00B0A046 /* STXFeedTableViewDelegate.m */; }; 017D674A18F6771800DD096A /* STXLikesCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 017D674818F6771800DD096A /* STXLikesCell.m */; }; 017D674F18F6773100DD096A /* STXCaptionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 017D674D18F6773100DD096A /* STXCaptionCell.m */; }; 0196482518EAB434001185C3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0196482418EAB434001185C3 /* Foundation.framework */; }; @@ -45,7 +45,7 @@ 01E383C018F638030094BCC1 /* STXCommentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E383BE18F638030094BCC1 /* STXCommentCell.m */; }; 01E383C518F65C6D0094BCC1 /* STXUserActionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E383C318F65C6D0094BCC1 /* STXUserActionCell.m */; }; 01E383C618F65C6D0094BCC1 /* STXUserActionCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 01E383C418F65C6D0094BCC1 /* STXUserActionCell.xib */; }; - 1A1DFC0356454E938E07048F /* libPods-STXDynamicTableViewExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EAD1347E22D244BC88270CFB /* libPods-STXDynamicTableViewExample.a */; }; + 10DA66E21F265C9D00222E56 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 10DA66E11F265C9D00222E56 /* Images.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -124,9 +124,7 @@ 01E383C218F65C6D0094BCC1 /* STXUserActionCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STXUserActionCell.h; sourceTree = ""; }; 01E383C318F65C6D0094BCC1 /* STXUserActionCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STXUserActionCell.m; sourceTree = ""; }; 01E383C418F65C6D0094BCC1 /* STXUserActionCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = STXUserActionCell.xib; sourceTree = ""; }; - 2BDE37AE74C190EAE2837A7A /* Pods-STXDynamicTableViewExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-STXDynamicTableViewExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-STXDynamicTableViewExample/Pods-STXDynamicTableViewExample.release.xcconfig"; sourceTree = ""; }; - 9AED87155782343E4057840A /* Pods-STXDynamicTableViewExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-STXDynamicTableViewExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-STXDynamicTableViewExample/Pods-STXDynamicTableViewExample.debug.xcconfig"; sourceTree = ""; }; - EAD1347E22D244BC88270CFB /* libPods-STXDynamicTableViewExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-STXDynamicTableViewExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 10DA66E11F265C9D00222E56 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -137,7 +135,6 @@ 0196482718EAB434001185C3 /* CoreGraphics.framework in Frameworks */, 0196482918EAB434001185C3 /* UIKit.framework in Frameworks */, 0196482518EAB434001185C3 /* Foundation.framework in Frameworks */, - 1A1DFC0356454E938E07048F /* libPods-STXDynamicTableViewExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,6 +154,7 @@ 010BA7FC18EC07C90030AF40 /* STXDynamicTableView */ = { isa = PBXGroup; children = ( + 10DA66E11F265C9D00222E56 /* Images.xcassets */, 011A76A81BC4283F00B0A046 /* Protocols */, 010BA83918ED10640030AF40 /* Categories */, 010BA81E18EC11D40030AF40 /* Cells */, @@ -246,7 +244,6 @@ 0196484318EAB434001185C3 /* STXDynamicTableViewExampleTests */, 0196482318EAB434001185C3 /* Frameworks */, 0196482218EAB434001185C3 /* Products */, - 7D3E8B648949E9F59F51A766 /* Pods */, ); sourceTree = ""; }; @@ -266,7 +263,6 @@ 0196482618EAB434001185C3 /* CoreGraphics.framework */, 0196482818EAB434001185C3 /* UIKit.framework */, 0196483D18EAB434001185C3 /* XCTest.framework */, - EAD1347E22D244BC88270CFB /* libPods-STXDynamicTableViewExample.a */, ); name = Frameworks; sourceTree = ""; @@ -347,15 +343,6 @@ path = Models; sourceTree = ""; }; - 7D3E8B648949E9F59F51A766 /* Pods */ = { - isa = PBXGroup; - children = ( - 9AED87155782343E4057840A /* Pods-STXDynamicTableViewExample.debug.xcconfig */, - 2BDE37AE74C190EAE2837A7A /* Pods-STXDynamicTableViewExample.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -363,11 +350,9 @@ isa = PBXNativeTarget; buildConfigurationList = 0196484D18EAB434001185C3 /* Build configuration list for PBXNativeTarget "STXDynamicTableViewExample" */; buildPhases = ( - 1DE0784B99E84F7AA6A1219D /* Check Pods Manifest.lock */, 0196481D18EAB434001185C3 /* Sources */, 0196481E18EAB434001185C3 /* Frameworks */, 0196481F18EAB434001185C3 /* Resources */, - 46FB61A0D3734DDC91CA4CEC /* Copy Pods Resources */, ); buildRules = ( ); @@ -435,6 +420,7 @@ buildActionMask = 2147483647; files = ( 01E383C618F65C6D0094BCC1 /* STXUserActionCell.xib in Resources */, + 10DA66E21F265C9D00222E56 /* Images.xcassets in Resources */, 0196482F18EAB434001185C3 /* InfoPlist.strings in Resources */, 011A76A51BC41EC300B0A046 /* Feed.storyboard in Resources */, 0196485518EAB48F001185C3 /* instagram_media_popular.json in Resources */, @@ -454,39 +440,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 1DE0784B99E84F7AA6A1219D /* 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; - }; - 46FB61A0D3734DDC91CA4CEC /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-STXDynamicTableViewExample/Pods-STXDynamicTableViewExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 0196481D18EAB434001185C3 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -631,7 +584,6 @@ }; 0196484E18EAB434001185C3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9AED87155782343E4057840A /* Pods-STXDynamicTableViewExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -647,7 +599,6 @@ }; 0196484F18EAB434001185C3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2BDE37AE74C190EAE2837A7A /* Pods-STXDynamicTableViewExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -663,7 +614,6 @@ }; 0196485118EAB434001185C3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9AED87155782343E4057840A /* Pods-STXDynamicTableViewExample.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/STXDynamicTableViewExample.app/STXDynamicTableViewExample"; FRAMEWORK_SEARCH_PATHS = ( @@ -687,7 +637,6 @@ }; 0196485218EAB434001185C3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2BDE37AE74C190EAE2837A7A /* Pods-STXDynamicTableViewExample.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/STXDynamicTableViewExample.app/STXDynamicTableViewExample"; FRAMEWORK_SEARCH_PATHS = ( diff --git a/STXDynamicTableViewExample/Images.xcassets/AppIcon.appiconset/Contents.json b/STXDynamicTableViewExample/Images.xcassets/AppIcon.appiconset/Contents.json index 91bf9c1..1d060ed 100644 --- a/STXDynamicTableViewExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/STXDynamicTableViewExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,20 +1,55 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "29x29", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "60x60", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, { "idiom" : "ipad", "size" : "29x29", @@ -44,6 +79,11 @@ "idiom" : "ipad", "size" : "76x76", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" } ], "info" : {