├── .gitignore ├── BGTableViewRowActionWithImage.h ├── BGTableViewRowActionWithImage.m ├── BGTableViewRowActionWithImage.podspec ├── Example ├── BGTableViewRowActionWithImage.xcworkspace │ └── contents.xcworkspacedata ├── BGTableViewRowActionWithImage │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── star.imageset │ │ │ ├── Contents.json │ │ │ ├── Star_25.png │ │ │ ├── Star_50.png │ │ │ └── Star_75.png │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ └── ViewController.swift ├── Example.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── Example.xcworkspace │ └── contents.xcworkspacedata ├── Podfile ├── Podfile.lock └── Pods │ ├── BGTableViewRowActionWithImage │ ├── BGTableViewRowActionWithImage.h │ ├── BGTableViewRowActionWithImage.m │ ├── LICENSE │ └── README.md │ ├── Local Podspecs │ └── BGTableViewRowActionWithImage.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ └── project.pbxproj │ └── Target Support Files │ ├── BGTableViewRowActionWithImage │ ├── BGTableViewRowActionWithImage-dummy.m │ ├── BGTableViewRowActionWithImage-prefix.pch │ ├── BGTableViewRowActionWithImage-umbrella.h │ ├── BGTableViewRowActionWithImage.modulemap │ ├── BGTableViewRowActionWithImage.xcconfig │ └── Info.plist │ └── Pods-Example │ ├── Info.plist │ ├── Pods-Example-acknowledgements.markdown │ ├── Pods-Example-acknowledgements.plist │ ├── Pods-Example-dummy.m │ ├── Pods-Example-frameworks.sh │ ├── Pods-Example-resources.sh │ ├── Pods-Example-umbrella.h │ ├── Pods-Example.debug.xcconfig │ ├── Pods-Example.modulemap │ └── Pods-Example.release.xcconfig ├── LICENSE ├── README.md └── demo.jpg /.gitignore: -------------------------------------------------------------------------------- 1 | # OS X 2 | .DS_Store 3 | 4 | # Xcode 5 | build/ 6 | *.pbxuser 7 | !default.pbxuser 8 | *.mode1v3 9 | !default.mode1v3 10 | *.mode2v3 11 | !default.mode2v3 12 | *.perspectivev3 13 | !default.perspectivev3 14 | xcuserdata 15 | *.xccheckout 16 | profile 17 | *.moved-aside 18 | DerivedData 19 | *.hmap 20 | *.ipa 21 | 22 | # Bundler 23 | .bundle 24 | 25 | Carthage 26 | # We recommend against adding the Pods directory to your .gitignore. However 27 | # you should judge for yourself, the pros and cons are mentioned at: 28 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 29 | # 30 | # Note: if you ignore the Pods directory, make sure to uncomment 31 | # `pod install` in .travis.yml 32 | # 33 | # Pods/ 34 | -------------------------------------------------------------------------------- /BGTableViewRowActionWithImage.h: -------------------------------------------------------------------------------- 1 | // 2 | // BGTableViewRowActionWithImage.h 3 | // BGTableViewRowActionWithImage 4 | // 5 | // Created by Ben Guild on 8/20/15. 6 | // Copyright (c) 2015-2018 Ben Guild. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BGTableViewRowActionWithImage : UITableViewRowAction 12 | 13 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 14 | title:(NSString *)title 15 | backgroundColor:(UIColor *)backgroundColor 16 | image:(UIImage *)image 17 | forCellHeight:(NSUInteger)cellHeight 18 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler NS_DEPRECATED_IOS(8_0, 11_0); 19 | 20 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 21 | title:(NSString *)title 22 | titleColor:(UIColor *)titleColor 23 | backgroundColor:(UIColor *)backgroundColor 24 | image:(UIImage *)image 25 | forCellHeight:(NSUInteger)cellHeight 26 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler NS_DEPRECATED_IOS(8_0, 11_0); 27 | 28 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 29 | title:(NSString *)title 30 | backgroundColor:(UIColor *)backgroundColor 31 | image:(UIImage *)image 32 | forCellHeight:(NSUInteger)cellHeight 33 | andFittedWidth:(BOOL)isWidthFitted 34 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler NS_DEPRECATED_IOS(8_0, 11_0); 35 | 36 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 37 | title:(NSString *)title 38 | titleColor:(UIColor *)titleColor 39 | backgroundColor:(UIColor *)backgroundColor 40 | image:(UIImage *)image 41 | forCellHeight:(NSUInteger)cellHeight 42 | andFittedWidth:(BOOL)isWidthFitted 43 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler NS_DEPRECATED_IOS(8_0, 11_0); 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /BGTableViewRowActionWithImage.m: -------------------------------------------------------------------------------- 1 | // 2 | // BGTableViewRowActionWithImage.m 3 | // BGTableViewRowActionWithImage 4 | // 5 | // Created by Ben Guild on 8/20/15. 6 | // Copyright (c) 2015-2018 Ben Guild. All rights reserved. 7 | // 8 | 9 | #import "BGTableViewRowActionWithImage.h" 10 | 11 | 12 | #define fontSize_iOS8AndUpDefault 18.0f 13 | #define fontSize_actuallyUsedUnderImage 13.0f 14 | 15 | #define margin_horizontal_iOS8AndUp 15.0f 16 | #define margin_vertical_betweenTextAndImage (cellHeight >= 64.0f ? 3.0f : 2.0f) 17 | 18 | #define fittingMultiplier 0.40f 19 | #define imagePaddingHorizontal 20.0 20 | 21 | 22 | @implementation BGTableViewRowActionWithImage 23 | 24 | #pragma mark - Derived constructors 25 | 26 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 27 | title:(NSString *)title 28 | backgroundColor:(UIColor *)backgroundColor 29 | image:(UIImage *)image 30 | forCellHeight:(NSUInteger)cellHeight 31 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler 32 | { 33 | return [self rowActionWithStyle:style 34 | title:title 35 | titleColor:[UIColor whiteColor] 36 | backgroundColor:backgroundColor 37 | image:image 38 | forCellHeight:cellHeight 39 | andFittedWidth:NO 40 | handler:handler]; 41 | } 42 | 43 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 44 | title:(NSString *)title 45 | titleColor:(UIColor *)titleColor 46 | backgroundColor:(UIColor *)backgroundColor 47 | image:(UIImage *)image 48 | forCellHeight:(NSUInteger)cellHeight 49 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler 50 | { 51 | return [self rowActionWithStyle:style 52 | title:title 53 | titleColor:titleColor 54 | backgroundColor:backgroundColor 55 | image:image 56 | forCellHeight:cellHeight 57 | andFittedWidth:NO 58 | handler:handler]; 59 | } 60 | 61 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 62 | title:(NSString *)title 63 | backgroundColor:(UIColor *)backgroundColor 64 | image:(UIImage *)image 65 | forCellHeight:(NSUInteger)cellHeight 66 | andFittedWidth:(BOOL)isWidthFitted 67 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler 68 | { 69 | return [self rowActionWithStyle:style 70 | title:title 71 | titleColor:[UIColor whiteColor] 72 | backgroundColor:backgroundColor 73 | image:image 74 | forCellHeight:cellHeight 75 | andFittedWidth:isWidthFitted 76 | handler:handler]; 77 | } 78 | 79 | #pragma mark - Main constructor 80 | 81 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 82 | title:(NSString *)title 83 | titleColor:(UIColor *)titleColor 84 | backgroundColor:(UIColor *)backgroundColor 85 | image:(UIImage *)image 86 | forCellHeight:(NSUInteger)cellHeight 87 | andFittedWidth:(BOOL)isWidthFitted 88 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler { 89 | if (title == nil && image != nil) { 90 | CGFloat emptySpaceWidth = [@"\u3000" boundingRectWithSize:CGSizeMake(MAXFLOAT, cellHeight) 91 | options:NSStringDrawingUsesLineFragmentOrigin 92 | attributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:fontSize_actuallyUsedUnderImage] } 93 | context:nil].size.width; 94 | 95 | title = [@"" stringByPaddingToLength:ceil((imagePaddingHorizontal + image.size.width+imagePaddingHorizontal) / emptySpaceWidth) 96 | withString:@"\u3000" 97 | startingAtIndex:0]; 98 | } 99 | 100 | __block NSUInteger titleMaximumLineLength = 0; 101 | 102 | [title enumerateLinesUsingBlock:^(NSString * _Nonnull line, BOOL * _Nonnull stop) { 103 | titleMaximumLineLength = MAX(titleMaximumLineLength, [line length]); 104 | }]; 105 | 106 | float titleMultiplier = (isWidthFitted ? fittingMultiplier : (fontSize_actuallyUsedUnderImage / fontSize_iOS8AndUpDefault) / 1.1f); 107 | // NOTE: This isn't exact, but it's close enough in most instances? I tested with full-width Asian characters and it accounts for those pretty well. 108 | 109 | NSString *titleSpaceString = [@"" stringByPaddingToLength:(titleMaximumLineLength * titleMultiplier) 110 | withString:@"\u3000" 111 | startingAtIndex:0]; 112 | 113 | BGTableViewRowActionWithImage *rowAction = (BGTableViewRowActionWithImage *)[self rowActionWithStyle:style 114 | title:titleSpaceString 115 | handler:handler]; 116 | 117 | CGFloat contentWidth = [titleSpaceString boundingRectWithSize:CGSizeMake(MAXFLOAT, cellHeight) 118 | options:NSStringDrawingUsesLineFragmentOrigin 119 | attributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:fontSize_iOS8AndUpDefault] } 120 | context:nil].size.width; 121 | 122 | CGSize frameGuess = CGSizeMake(ceilf((margin_horizontal_iOS8AndUp * 2) + contentWidth), ceilf(cellHeight)); 123 | 124 | CGSize tripleFrame = CGSizeMake(frameGuess.width * 3.0f, frameGuess.height * 3.0f); 125 | 126 | UIGraphicsBeginImageContextWithOptions(tripleFrame, YES, [[UIScreen mainScreen] scale]); 127 | CGContextRef context = UIGraphicsGetCurrentContext(); 128 | 129 | [backgroundColor set]; 130 | CGContextFillRect(context, CGRectMake(0, 0, tripleFrame.width, tripleFrame.height)); 131 | 132 | CGSize drawnTextSize = [title boundingRectWithSize:CGSizeMake(MAXFLOAT, cellHeight) 133 | options:NSStringDrawingUsesLineFragmentOrigin 134 | attributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:fontSize_actuallyUsedUnderImage] } 135 | context:nil].size; 136 | 137 | CGFloat imageInsetVertical = ([image size].height / 2.0); 138 | 139 | if ([[title stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] > 0) { 140 | imageInsetVertical = ([image size].height + margin_vertical_betweenTextAndImage+drawnTextSize.height) / 2.0f; 141 | } 142 | 143 | [image drawAtPoint:CGPointMake((frameGuess.width / 2.0f) - ([image size].width / 2.0f), 144 | (frameGuess.height / 2.0f) - imageInsetVertical)]; 145 | 146 | [title drawInRect:CGRectMake(((frameGuess.width / 2.0f) - 147 | (drawnTextSize.width / 2.0f)) * 148 | ([[UIApplication sharedApplication] userInterfaceLayoutDirection] == UIUserInterfaceLayoutDirectionRightToLeft ? -1 : 1), 149 | (frameGuess.height / 2.0f) - imageInsetVertical + [image size].height + margin_vertical_betweenTextAndImage, 150 | frameGuess.width, 151 | frameGuess.height) 152 | withAttributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:fontSize_actuallyUsedUnderImage], 153 | NSForegroundColorAttributeName: titleColor }]; 154 | 155 | [rowAction setBackgroundColor:[UIColor colorWithPatternImage:UIGraphicsGetImageFromCurrentImageContext()]]; 156 | 157 | UIGraphicsEndImageContext(); 158 | 159 | return rowAction; 160 | } 161 | 162 | @end 163 | -------------------------------------------------------------------------------- /BGTableViewRowActionWithImage.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "BGTableViewRowActionWithImage" 3 | s.version = "0.4.6" 4 | s.homepage = "https://github.com/benguild/BGTableViewRowActionWithImage" 5 | s.screenshots = "https://raw.github.com/benguild/BGTableViewRowActionWithImage/master/demo.jpg" 6 | s.summary = "A variation on the iOS 8-10 (not supported in 11+) `UITableViewRowAction` to support icons, with text below. Similar to the iOS 9 Mail app." 7 | s.license = 'MIT' 8 | s.author = { "Ben Guild" => "hello@benguild.com", "Tom Kraina" => "me@tomkraina.com" } 9 | s.source = { :git => "https://github.com/benguild/BGTableViewRowActionWithImage.git", :tag => s.version.to_s } 10 | s.source_files = 'BGTableViewRowActionWithImage.{h,m}' 11 | s.social_media_url = 'https://twitter.com/benguild' 12 | 13 | s.platform = :ios, '8.0' 14 | s.requires_arc = true 15 | 16 | s.framework = 'UIKit' 17 | 18 | end 19 | -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // BGTableViewRowActionWithImage 4 | // 5 | // Created by Tom Kraina on 05/09/2016. 6 | // Copyright © 2016 tomkraina. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | var window: UIWindow? 14 | } 15 | -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Star_25.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Star_50.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "Star_75.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Star_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benguild/BGTableViewRowActionWithImage/b4e0cb58861f72f8a00f024aca92a974c90564c0/Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Star_25.png -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Star_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benguild/BGTableViewRowActionWithImage/b4e0cb58861f72f8a00f024aca92a974c90564c0/Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Star_50.png -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Star_75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benguild/BGTableViewRowActionWithImage/b4e0cb58861f72f8a00f024aca92a974c90564c0/Example/BGTableViewRowActionWithImage/Assets.xcassets/star.imageset/Star_75.png -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Example/BGTableViewRowActionWithImage/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // BGTableViewRowActionWithImage 4 | // 5 | // Created by Tom Kraina on 05/09/2016. 6 | // Copyright © 2016 tomkraina. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import BGTableViewRowActionWithImage 11 | 12 | class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 13 | @IBOutlet weak var tableView: UITableView! 14 | 15 | override func viewDidLoad() { 16 | super.viewDidLoad() 17 | tableView.rowHeight = 80 18 | } 19 | 20 | // MARK: - 21 | 22 | func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 23 | return 10 24 | } 25 | 26 | func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 27 | return tableView.dequeueReusableCellWithIdentifier("identifier", forIndexPath: indexPath) 28 | } 29 | 30 | // MARK: - 31 | 32 | func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? { 33 | let action = BGTableViewRowActionWithImage.rowActionWithStyle( 34 | UITableViewRowActionStyle.Default, 35 | title: ((indexPath.row % 2) == 0 ? "action" : nil), 36 | backgroundColor: .lightGrayColor(), 37 | image: UIImage(named: "star"), 38 | forCellHeight: UInt(tableView.rowHeight), 39 | ) { (action, indexPath) in 40 | print("Selected action on indexPath=\(indexPath.section)/\(indexPath.row)") 41 | } 42 | 43 | return [action] 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 9C5C4F991D7E009A00B80AE3 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C5C4F981D7E009A00B80AE3 /* AppDelegate.swift */; }; 11 | 9C5C4F9B1D7E009A00B80AE3 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C5C4F9A1D7E009A00B80AE3 /* ViewController.swift */; }; 12 | 9C5C4F9E1D7E009A00B80AE3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C5C4F9C1D7E009A00B80AE3 /* Main.storyboard */; }; 13 | 9C5C4FA01D7E009A00B80AE3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9C5C4F9F1D7E009A00B80AE3 /* Assets.xcassets */; }; 14 | 9C5C4FA31D7E009A00B80AE3 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C5C4FA11D7E009A00B80AE3 /* LaunchScreen.storyboard */; }; 15 | B5B972713034925A3440CDF2 /* Pods_BGTableViewRowActionWithImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF7C898F74A572DA0692791F /* Pods_BGTableViewRowActionWithImage.framework */; }; 16 | CC83D3FF6D5B1F0F1FD47345 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12FCB6E0DB844A254FD22FBD /* Pods_Example.framework */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXFileReference section */ 20 | 12FCB6E0DB844A254FD22FBD /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 21 | 141C8BF8F55163CDF581BB14 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; 22 | 9C5C4F951D7E009A00B80AE3 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 23 | 9C5C4F981D7E009A00B80AE3 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 24 | 9C5C4F9A1D7E009A00B80AE3 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 25 | 9C5C4F9D1D7E009A00B80AE3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 26 | 9C5C4F9F1D7E009A00B80AE3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 27 | 9C5C4FA21D7E009A00B80AE3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 28 | 9C5C4FA41D7E009A00B80AE3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29 | AD1EEFD975D768680705ADDE /* Pods-BGTableViewRowActionWithImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BGTableViewRowActionWithImage.debug.xcconfig"; path = "Pods/Target Support Files/Pods-BGTableViewRowActionWithImage/Pods-BGTableViewRowActionWithImage.debug.xcconfig"; sourceTree = ""; }; 30 | AF7C898F74A572DA0692791F /* Pods_BGTableViewRowActionWithImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_BGTableViewRowActionWithImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 31 | CC0CCA21B80541D28296CF52 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; 32 | FCD63A64A03EB17C3FE7B9D7 /* Pods-BGTableViewRowActionWithImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-BGTableViewRowActionWithImage.release.xcconfig"; path = "Pods/Target Support Files/Pods-BGTableViewRowActionWithImage/Pods-BGTableViewRowActionWithImage.release.xcconfig"; sourceTree = ""; }; 33 | /* End PBXFileReference section */ 34 | 35 | /* Begin PBXFrameworksBuildPhase section */ 36 | 9C5C4F921D7E009A00B80AE3 /* Frameworks */ = { 37 | isa = PBXFrameworksBuildPhase; 38 | buildActionMask = 2147483647; 39 | files = ( 40 | B5B972713034925A3440CDF2 /* Pods_BGTableViewRowActionWithImage.framework in Frameworks */, 41 | CC83D3FF6D5B1F0F1FD47345 /* Pods_Example.framework in Frameworks */, 42 | ); 43 | runOnlyForDeploymentPostprocessing = 0; 44 | }; 45 | /* End PBXFrameworksBuildPhase section */ 46 | 47 | /* Begin PBXGroup section */ 48 | 9C5C4F8C1D7E009A00B80AE3 = { 49 | isa = PBXGroup; 50 | children = ( 51 | 9C5C4F971D7E009A00B80AE3 /* BGTableViewRowActionWithImage */, 52 | 9C5C4F961D7E009A00B80AE3 /* Products */, 53 | F5F71D6FBEA04FE187DDEA02 /* Pods */, 54 | BCB82D7B52E55BDBCF6D9F1A /* Frameworks */, 55 | ); 56 | sourceTree = ""; 57 | }; 58 | 9C5C4F961D7E009A00B80AE3 /* Products */ = { 59 | isa = PBXGroup; 60 | children = ( 61 | 9C5C4F951D7E009A00B80AE3 /* Example.app */, 62 | ); 63 | name = Products; 64 | sourceTree = ""; 65 | }; 66 | 9C5C4F971D7E009A00B80AE3 /* BGTableViewRowActionWithImage */ = { 67 | isa = PBXGroup; 68 | children = ( 69 | 9C5C4F981D7E009A00B80AE3 /* AppDelegate.swift */, 70 | 9C5C4F9A1D7E009A00B80AE3 /* ViewController.swift */, 71 | 9C5C4F9C1D7E009A00B80AE3 /* Main.storyboard */, 72 | 9C5C4F9F1D7E009A00B80AE3 /* Assets.xcassets */, 73 | 9C5C4FA11D7E009A00B80AE3 /* LaunchScreen.storyboard */, 74 | 9C5C4FA41D7E009A00B80AE3 /* Info.plist */, 75 | ); 76 | path = BGTableViewRowActionWithImage; 77 | sourceTree = ""; 78 | }; 79 | BCB82D7B52E55BDBCF6D9F1A /* Frameworks */ = { 80 | isa = PBXGroup; 81 | children = ( 82 | AF7C898F74A572DA0692791F /* Pods_BGTableViewRowActionWithImage.framework */, 83 | 12FCB6E0DB844A254FD22FBD /* Pods_Example.framework */, 84 | ); 85 | name = Frameworks; 86 | sourceTree = ""; 87 | }; 88 | F5F71D6FBEA04FE187DDEA02 /* Pods */ = { 89 | isa = PBXGroup; 90 | children = ( 91 | AD1EEFD975D768680705ADDE /* Pods-BGTableViewRowActionWithImage.debug.xcconfig */, 92 | FCD63A64A03EB17C3FE7B9D7 /* Pods-BGTableViewRowActionWithImage.release.xcconfig */, 93 | CC0CCA21B80541D28296CF52 /* Pods-Example.debug.xcconfig */, 94 | 141C8BF8F55163CDF581BB14 /* Pods-Example.release.xcconfig */, 95 | ); 96 | name = Pods; 97 | sourceTree = ""; 98 | }; 99 | /* End PBXGroup section */ 100 | 101 | /* Begin PBXNativeTarget section */ 102 | 9C5C4F941D7E009A00B80AE3 /* Example */ = { 103 | isa = PBXNativeTarget; 104 | buildConfigurationList = 9C5C4FA71D7E009A00B80AE3 /* Build configuration list for PBXNativeTarget "Example" */; 105 | buildPhases = ( 106 | E77833CCE82F2FDC5D6EDB96 /* [CP] Check Pods Manifest.lock */, 107 | 9C5C4F911D7E009A00B80AE3 /* Sources */, 108 | 9C5C4F921D7E009A00B80AE3 /* Frameworks */, 109 | 9C5C4F931D7E009A00B80AE3 /* Resources */, 110 | 058292BF2AF7C9DB6903560B /* [CP] Embed Pods Frameworks */, 111 | 52B677EB70136152F7844B8F /* [CP] Copy Pods Resources */, 112 | ); 113 | buildRules = ( 114 | ); 115 | dependencies = ( 116 | ); 117 | name = Example; 118 | productName = BGTableViewRowActionWithImage; 119 | productReference = 9C5C4F951D7E009A00B80AE3 /* Example.app */; 120 | productType = "com.apple.product-type.application"; 121 | }; 122 | /* End PBXNativeTarget section */ 123 | 124 | /* Begin PBXProject section */ 125 | 9C5C4F8D1D7E009A00B80AE3 /* Project object */ = { 126 | isa = PBXProject; 127 | attributes = { 128 | LastSwiftUpdateCheck = 0730; 129 | LastUpgradeCheck = 0730; 130 | ORGANIZATIONNAME = tomkraina; 131 | TargetAttributes = { 132 | 9C5C4F941D7E009A00B80AE3 = { 133 | CreatedOnToolsVersion = 7.3.1; 134 | }; 135 | }; 136 | }; 137 | buildConfigurationList = 9C5C4F901D7E009A00B80AE3 /* Build configuration list for PBXProject "Example" */; 138 | compatibilityVersion = "Xcode 3.2"; 139 | developmentRegion = English; 140 | hasScannedForEncodings = 0; 141 | knownRegions = ( 142 | en, 143 | Base, 144 | ); 145 | mainGroup = 9C5C4F8C1D7E009A00B80AE3; 146 | productRefGroup = 9C5C4F961D7E009A00B80AE3 /* Products */; 147 | projectDirPath = ""; 148 | projectRoot = ""; 149 | targets = ( 150 | 9C5C4F941D7E009A00B80AE3 /* Example */, 151 | ); 152 | }; 153 | /* End PBXProject section */ 154 | 155 | /* Begin PBXResourcesBuildPhase section */ 156 | 9C5C4F931D7E009A00B80AE3 /* Resources */ = { 157 | isa = PBXResourcesBuildPhase; 158 | buildActionMask = 2147483647; 159 | files = ( 160 | 9C5C4FA31D7E009A00B80AE3 /* LaunchScreen.storyboard in Resources */, 161 | 9C5C4FA01D7E009A00B80AE3 /* Assets.xcassets in Resources */, 162 | 9C5C4F9E1D7E009A00B80AE3 /* Main.storyboard in Resources */, 163 | ); 164 | runOnlyForDeploymentPostprocessing = 0; 165 | }; 166 | /* End PBXResourcesBuildPhase section */ 167 | 168 | /* Begin PBXShellScriptBuildPhase section */ 169 | 058292BF2AF7C9DB6903560B /* [CP] Embed Pods Frameworks */ = { 170 | isa = PBXShellScriptBuildPhase; 171 | buildActionMask = 2147483647; 172 | files = ( 173 | ); 174 | inputPaths = ( 175 | ); 176 | name = "[CP] Embed Pods Frameworks"; 177 | outputPaths = ( 178 | ); 179 | runOnlyForDeploymentPostprocessing = 0; 180 | shellPath = /bin/sh; 181 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n"; 182 | showEnvVarsInLog = 0; 183 | }; 184 | 52B677EB70136152F7844B8F /* [CP] Copy Pods Resources */ = { 185 | isa = PBXShellScriptBuildPhase; 186 | buildActionMask = 2147483647; 187 | files = ( 188 | ); 189 | inputPaths = ( 190 | ); 191 | name = "[CP] Copy Pods Resources"; 192 | outputPaths = ( 193 | ); 194 | runOnlyForDeploymentPostprocessing = 0; 195 | shellPath = /bin/sh; 196 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh\"\n"; 197 | showEnvVarsInLog = 0; 198 | }; 199 | E77833CCE82F2FDC5D6EDB96 /* [CP] Check Pods Manifest.lock */ = { 200 | isa = PBXShellScriptBuildPhase; 201 | buildActionMask = 2147483647; 202 | files = ( 203 | ); 204 | inputPaths = ( 205 | ); 206 | name = "[CP] Check Pods Manifest.lock"; 207 | outputPaths = ( 208 | ); 209 | runOnlyForDeploymentPostprocessing = 0; 210 | shellPath = /bin/sh; 211 | 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"; 212 | showEnvVarsInLog = 0; 213 | }; 214 | /* End PBXShellScriptBuildPhase section */ 215 | 216 | /* Begin PBXSourcesBuildPhase section */ 217 | 9C5C4F911D7E009A00B80AE3 /* Sources */ = { 218 | isa = PBXSourcesBuildPhase; 219 | buildActionMask = 2147483647; 220 | files = ( 221 | 9C5C4F9B1D7E009A00B80AE3 /* ViewController.swift in Sources */, 222 | 9C5C4F991D7E009A00B80AE3 /* AppDelegate.swift in Sources */, 223 | ); 224 | runOnlyForDeploymentPostprocessing = 0; 225 | }; 226 | /* End PBXSourcesBuildPhase section */ 227 | 228 | /* Begin PBXVariantGroup section */ 229 | 9C5C4F9C1D7E009A00B80AE3 /* Main.storyboard */ = { 230 | isa = PBXVariantGroup; 231 | children = ( 232 | 9C5C4F9D1D7E009A00B80AE3 /* Base */, 233 | ); 234 | name = Main.storyboard; 235 | sourceTree = ""; 236 | }; 237 | 9C5C4FA11D7E009A00B80AE3 /* LaunchScreen.storyboard */ = { 238 | isa = PBXVariantGroup; 239 | children = ( 240 | 9C5C4FA21D7E009A00B80AE3 /* Base */, 241 | ); 242 | name = LaunchScreen.storyboard; 243 | sourceTree = ""; 244 | }; 245 | /* End PBXVariantGroup section */ 246 | 247 | /* Begin XCBuildConfiguration section */ 248 | 9C5C4FA51D7E009A00B80AE3 /* Debug */ = { 249 | isa = XCBuildConfiguration; 250 | buildSettings = { 251 | ALWAYS_SEARCH_USER_PATHS = NO; 252 | CLANG_ANALYZER_NONNULL = YES; 253 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 254 | CLANG_CXX_LIBRARY = "libc++"; 255 | CLANG_ENABLE_MODULES = YES; 256 | CLANG_ENABLE_OBJC_ARC = YES; 257 | CLANG_WARN_BOOL_CONVERSION = YES; 258 | CLANG_WARN_CONSTANT_CONVERSION = YES; 259 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 260 | CLANG_WARN_EMPTY_BODY = YES; 261 | CLANG_WARN_ENUM_CONVERSION = YES; 262 | CLANG_WARN_INT_CONVERSION = YES; 263 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 264 | CLANG_WARN_UNREACHABLE_CODE = YES; 265 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 266 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 267 | COPY_PHASE_STRIP = NO; 268 | DEBUG_INFORMATION_FORMAT = dwarf; 269 | ENABLE_STRICT_OBJC_MSGSEND = YES; 270 | ENABLE_TESTABILITY = YES; 271 | GCC_C_LANGUAGE_STANDARD = gnu99; 272 | GCC_DYNAMIC_NO_PIC = NO; 273 | GCC_NO_COMMON_BLOCKS = YES; 274 | GCC_OPTIMIZATION_LEVEL = 0; 275 | GCC_PREPROCESSOR_DEFINITIONS = ( 276 | "DEBUG=1", 277 | "$(inherited)", 278 | ); 279 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 280 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 281 | GCC_WARN_UNDECLARED_SELECTOR = YES; 282 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 283 | GCC_WARN_UNUSED_FUNCTION = YES; 284 | GCC_WARN_UNUSED_VARIABLE = YES; 285 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 286 | MTL_ENABLE_DEBUG_INFO = YES; 287 | ONLY_ACTIVE_ARCH = YES; 288 | SDKROOT = iphoneos; 289 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 290 | }; 291 | name = Debug; 292 | }; 293 | 9C5C4FA61D7E009A00B80AE3 /* Release */ = { 294 | isa = XCBuildConfiguration; 295 | buildSettings = { 296 | ALWAYS_SEARCH_USER_PATHS = NO; 297 | CLANG_ANALYZER_NONNULL = YES; 298 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 299 | CLANG_CXX_LIBRARY = "libc++"; 300 | CLANG_ENABLE_MODULES = YES; 301 | CLANG_ENABLE_OBJC_ARC = YES; 302 | CLANG_WARN_BOOL_CONVERSION = YES; 303 | CLANG_WARN_CONSTANT_CONVERSION = YES; 304 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 305 | CLANG_WARN_EMPTY_BODY = YES; 306 | CLANG_WARN_ENUM_CONVERSION = YES; 307 | CLANG_WARN_INT_CONVERSION = YES; 308 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 309 | CLANG_WARN_UNREACHABLE_CODE = YES; 310 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 311 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 312 | COPY_PHASE_STRIP = NO; 313 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 314 | ENABLE_NS_ASSERTIONS = NO; 315 | ENABLE_STRICT_OBJC_MSGSEND = YES; 316 | GCC_C_LANGUAGE_STANDARD = gnu99; 317 | GCC_NO_COMMON_BLOCKS = YES; 318 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 319 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 320 | GCC_WARN_UNDECLARED_SELECTOR = YES; 321 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 322 | GCC_WARN_UNUSED_FUNCTION = YES; 323 | GCC_WARN_UNUSED_VARIABLE = YES; 324 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 325 | MTL_ENABLE_DEBUG_INFO = NO; 326 | SDKROOT = iphoneos; 327 | VALIDATE_PRODUCT = YES; 328 | }; 329 | name = Release; 330 | }; 331 | 9C5C4FA81D7E009A00B80AE3 /* Debug */ = { 332 | isa = XCBuildConfiguration; 333 | baseConfigurationReference = CC0CCA21B80541D28296CF52 /* Pods-Example.debug.xcconfig */; 334 | buildSettings = { 335 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 336 | INFOPLIST_FILE = BGTableViewRowActionWithImage/Info.plist; 337 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 338 | PRODUCT_BUNDLE_IDENTIFIER = com.tomkraina.BGTableViewRowActionWithImageExample; 339 | PRODUCT_NAME = "$(TARGET_NAME)"; 340 | }; 341 | name = Debug; 342 | }; 343 | 9C5C4FA91D7E009A00B80AE3 /* Release */ = { 344 | isa = XCBuildConfiguration; 345 | baseConfigurationReference = 141C8BF8F55163CDF581BB14 /* Pods-Example.release.xcconfig */; 346 | buildSettings = { 347 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 348 | INFOPLIST_FILE = BGTableViewRowActionWithImage/Info.plist; 349 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 350 | PRODUCT_BUNDLE_IDENTIFIER = com.tomkraina.BGTableViewRowActionWithImageExample; 351 | PRODUCT_NAME = "$(TARGET_NAME)"; 352 | }; 353 | name = Release; 354 | }; 355 | /* End XCBuildConfiguration section */ 356 | 357 | /* Begin XCConfigurationList section */ 358 | 9C5C4F901D7E009A00B80AE3 /* Build configuration list for PBXProject "Example" */ = { 359 | isa = XCConfigurationList; 360 | buildConfigurations = ( 361 | 9C5C4FA51D7E009A00B80AE3 /* Debug */, 362 | 9C5C4FA61D7E009A00B80AE3 /* Release */, 363 | ); 364 | defaultConfigurationIsVisible = 0; 365 | defaultConfigurationName = Release; 366 | }; 367 | 9C5C4FA71D7E009A00B80AE3 /* Build configuration list for PBXNativeTarget "Example" */ = { 368 | isa = XCConfigurationList; 369 | buildConfigurations = ( 370 | 9C5C4FA81D7E009A00B80AE3 /* Debug */, 371 | 9C5C4FA91D7E009A00B80AE3 /* Release */, 372 | ); 373 | defaultConfigurationIsVisible = 0; 374 | defaultConfigurationName = Release; 375 | }; 376 | /* End XCConfigurationList section */ 377 | }; 378 | rootObject = 9C5C4F8D1D7E009A00B80AE3 /* Project object */; 379 | } 380 | -------------------------------------------------------------------------------- /Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Example/Example.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'Example' do 5 | # Comment this line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for BGTableViewRowActionWithImage 9 | 10 | pod 'BGTableViewRowActionWithImage', :path => "../BGTableViewRowActionWithImage.podspec" 11 | 12 | end 13 | -------------------------------------------------------------------------------- /Example/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - BGTableViewRowActionWithImage (0.3.5) 3 | 4 | DEPENDENCIES: 5 | - BGTableViewRowActionWithImage (from `../BGTableViewRowActionWithImage.podspec`) 6 | 7 | EXTERNAL SOURCES: 8 | BGTableViewRowActionWithImage: 9 | :path: "../BGTableViewRowActionWithImage.podspec" 10 | 11 | SPEC CHECKSUMS: 12 | BGTableViewRowActionWithImage: 4871f575342221f67645ec937e4db2a7258ed47c 13 | 14 | PODFILE CHECKSUM: 9f9a7b32a6a90dd2fc40dddb8d54dab547d8e6ff 15 | 16 | COCOAPODS: 1.0.1 17 | -------------------------------------------------------------------------------- /Example/Pods/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.h: -------------------------------------------------------------------------------- 1 | ../../../BGTableViewRowActionWithImage.h -------------------------------------------------------------------------------- /Example/Pods/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.m: -------------------------------------------------------------------------------- 1 | ../../../BGTableViewRowActionWithImage.m -------------------------------------------------------------------------------- /Example/Pods/BGTableViewRowActionWithImage/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Ben Guild 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Example/Pods/BGTableViewRowActionWithImage/README.md: -------------------------------------------------------------------------------- 1 | # BGTableViewRowActionWithImage 2 | 3 | A variation on the iOS 8.0+ `UITableViewRowAction` to support icons, with text below. Similar to the iOS 9 Mail application and various third-party applications. We're all secretly hoping that Apple will implement this functionality with a native, public API in iOS 10 or 11. 4 | 5 | **This current implementation isn't ideal,** but it works. Until it becomes a built-in property for `UITableViewRowAction`, please feel free to contribute any improvements or compatibility tweaks as you see fit. 6 | 7 | [![Version](https://img.shields.io/cocoapods/v/BGTableViewRowActionWithImage.svg?style=flat)](http://cocoapods.org/pods/BGTableViewRowActionWithImage) 8 | [![License](https://img.shields.io/cocoapods/l/BGTableViewRowActionWithImage.svg?style=flat)](http://cocoapods.org/pods/BGTableViewRowActionWithImage) 9 | [![Platform](https://img.shields.io/cocoapods/p/BGTableViewRowActionWithImage.svg?style=flat)](http://cocoapods.org/pods/BGTableViewRowActionWithImage) 10 | 11 | ## Usage 12 | 13 | ```objc 14 | // Regular width 15 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 16 | title:(NSString *)title 17 | backgroundColor:(UIColor *)backgroundColor 18 | image:(UIImage *)image 19 | forCellHeight:(NSUInteger)cellHeight 20 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 21 | 22 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 23 | title:(NSString *)title 24 | titleColor:(UIColor *)titleColor 25 | backgroundColor:(UIColor *)backgroundColor 26 | image:(UIImage *)image 27 | forCellHeight:(NSUInteger)cellHeight 28 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 29 | 30 | // Optional fitted width (ideal when using 3 or more cells in smaller tables) 31 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 32 | title:(NSString *)title 33 | backgroundColor:(UIColor *)backgroundColor 34 | image:(UIImage *)image 35 | forCellHeight:(NSUInteger)cellHeight 36 | andFittedWidth:(BOOL)isWidthFitted 37 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 38 | 39 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 40 | title:(NSString *)title 41 | titleColor:(UIColor *)titleColor 42 | backgroundColor:(UIColor *)backgroundColor 43 | image:(UIImage *)image 44 | forCellHeight:(NSUInteger)cellHeight 45 | andFittedWidth:(BOOL)isWidthFitted 46 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 47 | ``` 48 | 49 | Use **one** of these constructors **only** to configure each row action, depending on your needs. Manually setting the `backgroundColor` property of a row action after calling a constructor will probably result in unexpected behavior, and should be avoided. 50 | 51 | ## Demo 52 | 53 | ![Example screenshot](https://raw.github.com/benguild/BGTableViewRowActionWithImage/master/demo.jpg "Example screenshot") 54 | 55 | ## Installation 56 | 57 | `BGTableViewRowActionWithImage` is available through [CocoaPods](http://cocoapods.org). To install 58 | it, simply add the following line to your Podfile: 59 | 60 | ```ruby 61 | pod "BGTableViewRowActionWithImage" 62 | ``` 63 | 64 | ## Author 65 | 66 | Ben Guild, email@benguild.com 67 | 68 | ## License 69 | 70 | `BGTableViewRowActionWithImage` is available under the MIT license. See the LICENSE file for more info. 71 | -------------------------------------------------------------------------------- /Example/Pods/Local Podspecs/BGTableViewRowActionWithImage.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BGTableViewRowActionWithImage", 3 | "version": "0.3.5", 4 | "homepage": "https://github.com/benguild/BGTableViewRowActionWithImage", 5 | "screenshots": "https://raw.github.com/benguild/BGTableViewRowActionWithImage/master/demo.jpg", 6 | "summary": "A variation on the iOS 8.0+ `UITableViewRowAction` to support icons, with text below.", 7 | "license": "MIT", 8 | "authors": { 9 | "Ben Guild": "email@benguild.com" 10 | }, 11 | "source": { 12 | "git": "https://github.com/benguild/BGTableViewRowActionWithImage.git", 13 | "tag": "0.3.5" 14 | }, 15 | "source_files": "BGTableViewRowActionWithImage.{h,m}", 16 | "social_media_url": "https://twitter.com/benguild", 17 | "platforms": { 18 | "ios": "8.0" 19 | }, 20 | "requires_arc": true, 21 | "frameworks": "UIKit" 22 | } 23 | -------------------------------------------------------------------------------- /Example/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - BGTableViewRowActionWithImage (0.3.5) 3 | 4 | DEPENDENCIES: 5 | - BGTableViewRowActionWithImage (from `../BGTableViewRowActionWithImage.podspec`) 6 | 7 | EXTERNAL SOURCES: 8 | BGTableViewRowActionWithImage: 9 | :path: "../BGTableViewRowActionWithImage.podspec" 10 | 11 | SPEC CHECKSUMS: 12 | BGTableViewRowActionWithImage: 4871f575342221f67645ec937e4db2a7258ed47c 13 | 14 | PODFILE CHECKSUM: 9f9a7b32a6a90dd2fc40dddb8d54dab547d8e6ff 15 | 16 | COCOAPODS: 1.0.1 17 | -------------------------------------------------------------------------------- /Example/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 0D0D8AAA106C63986A71029C54C6A99B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E86668F20F252C440D1015B816BE59C5 /* UIKit.framework */; }; 11 | 2896AB8603372B69EA951DDC8EE8B6F8 /* BGTableViewRowActionWithImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 82645DB616481B352FEE5C3F486CBFF0 /* BGTableViewRowActionWithImage-dummy.m */; }; 12 | 325DEABEA42EA1FE36572D07E2A2A859 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A6FF208CEC4C2861F1E9D42D651453 /* Foundation.framework */; }; 13 | 39CB8BF87775F220DA8A8B71B1A61660 /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C9BDE82371C83FA9AE91B05F77ACAA36 /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 14 | 49EC6D60CFB7BF829A4CB29D924BCCE3 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 699118D7DDD5F335E4FB8B17DC0F12D2 /* Pods-Example-dummy.m */; }; 15 | 54344728DEB143F4AA726332677C4B4D /* BGTableViewRowActionWithImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F43E81D3D3A95161BBD8FFDAE26F5D10 /* BGTableViewRowActionWithImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 16 | 5BE48CCA8CBF0180260D742F2D74BACA /* BGTableViewRowActionWithImage.h in Headers */ = {isa = PBXBuildFile; fileRef = EB338DDBF5DB6BDFAAD31403192E67D1 /* BGTableViewRowActionWithImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; 17 | 87DE18C2CE39F6CDDA45C8B52AC81961 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A6FF208CEC4C2861F1E9D42D651453 /* Foundation.framework */; }; 18 | EF12797A01859E4A4DB6C1E3C6B43E1A /* BGTableViewRowActionWithImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 838EDFDAAC0FEB3E92BC5720A8C2F7B0 /* BGTableViewRowActionWithImage.m */; }; 19 | /* End PBXBuildFile section */ 20 | 21 | /* Begin PBXContainerItemProxy section */ 22 | 6018647E281C42A50383609B0FBD2CBF /* PBXContainerItemProxy */ = { 23 | isa = PBXContainerItemProxy; 24 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 25 | proxyType = 1; 26 | remoteGlobalIDString = 6DEB1257FFCB1CBE0DB9FC1C561CAC06; 27 | remoteInfo = BGTableViewRowActionWithImage; 28 | }; 29 | /* End PBXContainerItemProxy section */ 30 | 31 | /* Begin PBXFileReference section */ 32 | 01E6907CF2644EB1CF8E23F708A3DA0B /* Pods-Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-resources.sh"; sourceTree = ""; }; 33 | 119072C64A19799964E1620D83F514FB /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Example.modulemap"; sourceTree = ""; }; 34 | 149054C495E8EC590CAB4C524133016F /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = ""; }; 35 | 4EA03CB42B19ED0416CA0B1B652981D8 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 36 | 552550F3F912264E5D073F8893691F88 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = ""; }; 37 | 5B83EAEB909F7EF6A242F84564AD6B62 /* BGTableViewRowActionWithImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = BGTableViewRowActionWithImage.modulemap; sourceTree = ""; }; 38 | 699118D7DDD5F335E4FB8B17DC0F12D2 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = ""; }; 39 | 764D33E23CE6C1111110B04F5CBADADB /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = ""; }; 40 | 82645DB616481B352FEE5C3F486CBFF0 /* BGTableViewRowActionWithImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BGTableViewRowActionWithImage-dummy.m"; sourceTree = ""; }; 41 | 838EDFDAAC0FEB3E92BC5720A8C2F7B0 /* BGTableViewRowActionWithImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BGTableViewRowActionWithImage.m; sourceTree = ""; }; 42 | 879E1B131FC95CBB0A811A9CA28DE1E8 /* BGTableViewRowActionWithImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BGTableViewRowActionWithImage.xcconfig; sourceTree = ""; }; 43 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 44 | A183B54E3D9F3185D7D6FF3DA239B2CD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 45 | A2A6FF208CEC4C2861F1E9D42D651453 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 46 | A661FECCEBFF9D01869EE3B29C4C1EFF /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = ""; }; 47 | C113A816982CDDF606073A5C0F25ED51 /* BGTableViewRowActionWithImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BGTableViewRowActionWithImage-prefix.pch"; sourceTree = ""; }; 48 | C9BDE82371C83FA9AE91B05F77ACAA36 /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = ""; }; 49 | E512A5F985F876750237FD237C3AEEDA /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = ""; }; 50 | E86668F20F252C440D1015B816BE59C5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; 51 | EB338DDBF5DB6BDFAAD31403192E67D1 /* BGTableViewRowActionWithImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BGTableViewRowActionWithImage.h; sourceTree = ""; }; 52 | EB4DC4735C990E2B1D21030B9F908DD0 /* BGTableViewRowActionWithImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BGTableViewRowActionWithImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 53 | EFFB74AAA6B2AE8DABF0E88E61E09178 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 54 | F43E81D3D3A95161BBD8FFDAE26F5D10 /* BGTableViewRowActionWithImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BGTableViewRowActionWithImage-umbrella.h"; sourceTree = ""; }; 55 | /* End PBXFileReference section */ 56 | 57 | /* Begin PBXFrameworksBuildPhase section */ 58 | 6C4DFE4B28AF3E3A73D2FB168057EEFB /* Frameworks */ = { 59 | isa = PBXFrameworksBuildPhase; 60 | buildActionMask = 2147483647; 61 | files = ( 62 | 87DE18C2CE39F6CDDA45C8B52AC81961 /* Foundation.framework in Frameworks */, 63 | ); 64 | runOnlyForDeploymentPostprocessing = 0; 65 | }; 66 | ACB2C7A0713E23D148A166AB8CE19832 /* Frameworks */ = { 67 | isa = PBXFrameworksBuildPhase; 68 | buildActionMask = 2147483647; 69 | files = ( 70 | 325DEABEA42EA1FE36572D07E2A2A859 /* Foundation.framework in Frameworks */, 71 | 0D0D8AAA106C63986A71029C54C6A99B /* UIKit.framework in Frameworks */, 72 | ); 73 | runOnlyForDeploymentPostprocessing = 0; 74 | }; 75 | /* End PBXFrameworksBuildPhase section */ 76 | 77 | /* Begin PBXGroup section */ 78 | 433CD3331B6C3787F473C941B61FC68F /* Frameworks */ = { 79 | isa = PBXGroup; 80 | children = ( 81 | F302CD3B306AF1ED96B9AF31FCDBC26C /* iOS */, 82 | ); 83 | name = Frameworks; 84 | sourceTree = ""; 85 | }; 86 | 5C1EFB8B76909D828B57C5BE72D0F404 /* Development Pods */ = { 87 | isa = PBXGroup; 88 | children = ( 89 | EE0AED6CE84262A9A025968C47021016 /* BGTableViewRowActionWithImage */, 90 | ); 91 | name = "Development Pods"; 92 | sourceTree = ""; 93 | }; 94 | 6A4F6A14E3FB951290E4531728B7A461 /* Targets Support Files */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | FE9811ABEB5931E154211FCA14B78350 /* Pods-Example */, 98 | ); 99 | name = "Targets Support Files"; 100 | sourceTree = ""; 101 | }; 102 | 7DB346D0F39D3F0E887471402A8071AB = { 103 | isa = PBXGroup; 104 | children = ( 105 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 106 | 5C1EFB8B76909D828B57C5BE72D0F404 /* Development Pods */, 107 | 433CD3331B6C3787F473C941B61FC68F /* Frameworks */, 108 | E6D314BE9DB8C48A67998D560B1E4F35 /* Products */, 109 | 6A4F6A14E3FB951290E4531728B7A461 /* Targets Support Files */, 110 | ); 111 | sourceTree = ""; 112 | }; 113 | E6D314BE9DB8C48A67998D560B1E4F35 /* Products */ = { 114 | isa = PBXGroup; 115 | children = ( 116 | EB4DC4735C990E2B1D21030B9F908DD0 /* BGTableViewRowActionWithImage.framework */, 117 | 4EA03CB42B19ED0416CA0B1B652981D8 /* Pods_Example.framework */, 118 | ); 119 | name = Products; 120 | sourceTree = ""; 121 | }; 122 | E7B653B01A6D0C98ABAD8B8850BDD35F /* Support Files */ = { 123 | isa = PBXGroup; 124 | children = ( 125 | 5B83EAEB909F7EF6A242F84564AD6B62 /* BGTableViewRowActionWithImage.modulemap */, 126 | 879E1B131FC95CBB0A811A9CA28DE1E8 /* BGTableViewRowActionWithImage.xcconfig */, 127 | 82645DB616481B352FEE5C3F486CBFF0 /* BGTableViewRowActionWithImage-dummy.m */, 128 | C113A816982CDDF606073A5C0F25ED51 /* BGTableViewRowActionWithImage-prefix.pch */, 129 | F43E81D3D3A95161BBD8FFDAE26F5D10 /* BGTableViewRowActionWithImage-umbrella.h */, 130 | A183B54E3D9F3185D7D6FF3DA239B2CD /* Info.plist */, 131 | ); 132 | name = "Support Files"; 133 | path = "Example/Pods/Target Support Files/BGTableViewRowActionWithImage"; 134 | sourceTree = ""; 135 | }; 136 | EE0AED6CE84262A9A025968C47021016 /* BGTableViewRowActionWithImage */ = { 137 | isa = PBXGroup; 138 | children = ( 139 | EB338DDBF5DB6BDFAAD31403192E67D1 /* BGTableViewRowActionWithImage.h */, 140 | 838EDFDAAC0FEB3E92BC5720A8C2F7B0 /* BGTableViewRowActionWithImage.m */, 141 | E7B653B01A6D0C98ABAD8B8850BDD35F /* Support Files */, 142 | ); 143 | name = BGTableViewRowActionWithImage; 144 | path = ../..; 145 | sourceTree = ""; 146 | }; 147 | F302CD3B306AF1ED96B9AF31FCDBC26C /* iOS */ = { 148 | isa = PBXGroup; 149 | children = ( 150 | A2A6FF208CEC4C2861F1E9D42D651453 /* Foundation.framework */, 151 | E86668F20F252C440D1015B816BE59C5 /* UIKit.framework */, 152 | ); 153 | name = iOS; 154 | sourceTree = ""; 155 | }; 156 | FE9811ABEB5931E154211FCA14B78350 /* Pods-Example */ = { 157 | isa = PBXGroup; 158 | children = ( 159 | EFFB74AAA6B2AE8DABF0E88E61E09178 /* Info.plist */, 160 | 119072C64A19799964E1620D83F514FB /* Pods-Example.modulemap */, 161 | A661FECCEBFF9D01869EE3B29C4C1EFF /* Pods-Example-acknowledgements.markdown */, 162 | 764D33E23CE6C1111110B04F5CBADADB /* Pods-Example-acknowledgements.plist */, 163 | 699118D7DDD5F335E4FB8B17DC0F12D2 /* Pods-Example-dummy.m */, 164 | 552550F3F912264E5D073F8893691F88 /* Pods-Example-frameworks.sh */, 165 | 01E6907CF2644EB1CF8E23F708A3DA0B /* Pods-Example-resources.sh */, 166 | C9BDE82371C83FA9AE91B05F77ACAA36 /* Pods-Example-umbrella.h */, 167 | 149054C495E8EC590CAB4C524133016F /* Pods-Example.debug.xcconfig */, 168 | E512A5F985F876750237FD237C3AEEDA /* Pods-Example.release.xcconfig */, 169 | ); 170 | name = "Pods-Example"; 171 | path = "Target Support Files/Pods-Example"; 172 | sourceTree = ""; 173 | }; 174 | /* End PBXGroup section */ 175 | 176 | /* Begin PBXHeadersBuildPhase section */ 177 | 3853A1C33EE65BD6A1FC088E4589EF5C /* Headers */ = { 178 | isa = PBXHeadersBuildPhase; 179 | buildActionMask = 2147483647; 180 | files = ( 181 | 54344728DEB143F4AA726332677C4B4D /* BGTableViewRowActionWithImage-umbrella.h in Headers */, 182 | 5BE48CCA8CBF0180260D742F2D74BACA /* BGTableViewRowActionWithImage.h in Headers */, 183 | ); 184 | runOnlyForDeploymentPostprocessing = 0; 185 | }; 186 | B0917DE57A4B210099B7EF9B56BA754C /* Headers */ = { 187 | isa = PBXHeadersBuildPhase; 188 | buildActionMask = 2147483647; 189 | files = ( 190 | 39CB8BF87775F220DA8A8B71B1A61660 /* Pods-Example-umbrella.h in Headers */, 191 | ); 192 | runOnlyForDeploymentPostprocessing = 0; 193 | }; 194 | /* End PBXHeadersBuildPhase section */ 195 | 196 | /* Begin PBXNativeTarget section */ 197 | 6DEB1257FFCB1CBE0DB9FC1C561CAC06 /* BGTableViewRowActionWithImage */ = { 198 | isa = PBXNativeTarget; 199 | buildConfigurationList = 7D6F0421BC26709AB070FB538C50CD14 /* Build configuration list for PBXNativeTarget "BGTableViewRowActionWithImage" */; 200 | buildPhases = ( 201 | 63273FF3BABDBB4A14F1DBE28E3AA97A /* Sources */, 202 | ACB2C7A0713E23D148A166AB8CE19832 /* Frameworks */, 203 | 3853A1C33EE65BD6A1FC088E4589EF5C /* Headers */, 204 | ); 205 | buildRules = ( 206 | ); 207 | dependencies = ( 208 | ); 209 | name = BGTableViewRowActionWithImage; 210 | productName = BGTableViewRowActionWithImage; 211 | productReference = EB4DC4735C990E2B1D21030B9F908DD0 /* BGTableViewRowActionWithImage.framework */; 212 | productType = "com.apple.product-type.framework"; 213 | }; 214 | 914D41D1243B14F0397BD8CE45D9CC5A /* Pods-Example */ = { 215 | isa = PBXNativeTarget; 216 | buildConfigurationList = 9078860C82C49EE03BFCBE93F32F3382 /* Build configuration list for PBXNativeTarget "Pods-Example" */; 217 | buildPhases = ( 218 | 7318B98AAF1D5F961FB3ECD42DC160C7 /* Sources */, 219 | 6C4DFE4B28AF3E3A73D2FB168057EEFB /* Frameworks */, 220 | B0917DE57A4B210099B7EF9B56BA754C /* Headers */, 221 | ); 222 | buildRules = ( 223 | ); 224 | dependencies = ( 225 | 87F6ED5B5AB34F4CA69621833FAD5F50 /* PBXTargetDependency */, 226 | ); 227 | name = "Pods-Example"; 228 | productName = "Pods-Example"; 229 | productReference = 4EA03CB42B19ED0416CA0B1B652981D8 /* Pods_Example.framework */; 230 | productType = "com.apple.product-type.framework"; 231 | }; 232 | /* End PBXNativeTarget section */ 233 | 234 | /* Begin PBXProject section */ 235 | D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { 236 | isa = PBXProject; 237 | attributes = { 238 | LastSwiftUpdateCheck = 0730; 239 | LastUpgradeCheck = 0700; 240 | }; 241 | buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; 242 | compatibilityVersion = "Xcode 3.2"; 243 | developmentRegion = English; 244 | hasScannedForEncodings = 0; 245 | knownRegions = ( 246 | en, 247 | ); 248 | mainGroup = 7DB346D0F39D3F0E887471402A8071AB; 249 | productRefGroup = E6D314BE9DB8C48A67998D560B1E4F35 /* Products */; 250 | projectDirPath = ""; 251 | projectRoot = ""; 252 | targets = ( 253 | 6DEB1257FFCB1CBE0DB9FC1C561CAC06 /* BGTableViewRowActionWithImage */, 254 | 914D41D1243B14F0397BD8CE45D9CC5A /* Pods-Example */, 255 | ); 256 | }; 257 | /* End PBXProject section */ 258 | 259 | /* Begin PBXSourcesBuildPhase section */ 260 | 63273FF3BABDBB4A14F1DBE28E3AA97A /* Sources */ = { 261 | isa = PBXSourcesBuildPhase; 262 | buildActionMask = 2147483647; 263 | files = ( 264 | 2896AB8603372B69EA951DDC8EE8B6F8 /* BGTableViewRowActionWithImage-dummy.m in Sources */, 265 | EF12797A01859E4A4DB6C1E3C6B43E1A /* BGTableViewRowActionWithImage.m in Sources */, 266 | ); 267 | runOnlyForDeploymentPostprocessing = 0; 268 | }; 269 | 7318B98AAF1D5F961FB3ECD42DC160C7 /* Sources */ = { 270 | isa = PBXSourcesBuildPhase; 271 | buildActionMask = 2147483647; 272 | files = ( 273 | 49EC6D60CFB7BF829A4CB29D924BCCE3 /* Pods-Example-dummy.m in Sources */, 274 | ); 275 | runOnlyForDeploymentPostprocessing = 0; 276 | }; 277 | /* End PBXSourcesBuildPhase section */ 278 | 279 | /* Begin PBXTargetDependency section */ 280 | 87F6ED5B5AB34F4CA69621833FAD5F50 /* PBXTargetDependency */ = { 281 | isa = PBXTargetDependency; 282 | name = BGTableViewRowActionWithImage; 283 | target = 6DEB1257FFCB1CBE0DB9FC1C561CAC06 /* BGTableViewRowActionWithImage */; 284 | targetProxy = 6018647E281C42A50383609B0FBD2CBF /* PBXContainerItemProxy */; 285 | }; 286 | /* End PBXTargetDependency section */ 287 | 288 | /* Begin XCBuildConfiguration section */ 289 | 1B265FA296C6418E4C421358A40AE08F /* Release */ = { 290 | isa = XCBuildConfiguration; 291 | baseConfigurationReference = E512A5F985F876750237FD237C3AEEDA /* Pods-Example.release.xcconfig */; 292 | buildSettings = { 293 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 294 | CURRENT_PROJECT_VERSION = 1; 295 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 296 | DEFINES_MODULE = YES; 297 | DYLIB_COMPATIBILITY_VERSION = 1; 298 | DYLIB_CURRENT_VERSION = 1; 299 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 300 | ENABLE_STRICT_OBJC_MSGSEND = YES; 301 | GCC_NO_COMMON_BLOCKS = YES; 302 | INFOPLIST_FILE = "Target Support Files/Pods-Example/Info.plist"; 303 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 304 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 305 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 306 | MACH_O_TYPE = staticlib; 307 | MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap"; 308 | MTL_ENABLE_DEBUG_INFO = NO; 309 | OTHER_LDFLAGS = ""; 310 | OTHER_LIBTOOLFLAGS = ""; 311 | PODS_ROOT = "$(SRCROOT)"; 312 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 313 | PRODUCT_NAME = Pods_Example; 314 | SDKROOT = iphoneos; 315 | SKIP_INSTALL = YES; 316 | TARGETED_DEVICE_FAMILY = "1,2"; 317 | VERSIONING_SYSTEM = "apple-generic"; 318 | VERSION_INFO_PREFIX = ""; 319 | }; 320 | name = Release; 321 | }; 322 | 3FA451D268613890FA8A5A03801E11D5 /* Release */ = { 323 | isa = XCBuildConfiguration; 324 | buildSettings = { 325 | ALWAYS_SEARCH_USER_PATHS = NO; 326 | CLANG_ANALYZER_NONNULL = YES; 327 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 328 | CLANG_CXX_LIBRARY = "libc++"; 329 | CLANG_ENABLE_MODULES = YES; 330 | CLANG_ENABLE_OBJC_ARC = YES; 331 | CLANG_WARN_BOOL_CONVERSION = YES; 332 | CLANG_WARN_CONSTANT_CONVERSION = YES; 333 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 334 | CLANG_WARN_EMPTY_BODY = YES; 335 | CLANG_WARN_ENUM_CONVERSION = YES; 336 | CLANG_WARN_INT_CONVERSION = YES; 337 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 338 | CLANG_WARN_UNREACHABLE_CODE = YES; 339 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 340 | COPY_PHASE_STRIP = YES; 341 | ENABLE_NS_ASSERTIONS = NO; 342 | GCC_C_LANGUAGE_STANDARD = gnu99; 343 | GCC_PREPROCESSOR_DEFINITIONS = ( 344 | "POD_CONFIGURATION_RELEASE=1", 345 | "$(inherited)", 346 | ); 347 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 348 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 349 | GCC_WARN_UNDECLARED_SELECTOR = YES; 350 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 351 | GCC_WARN_UNUSED_FUNCTION = YES; 352 | GCC_WARN_UNUSED_VARIABLE = YES; 353 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 354 | STRIP_INSTALLED_PRODUCT = NO; 355 | SYMROOT = "${SRCROOT}/../build"; 356 | VALIDATE_PRODUCT = YES; 357 | }; 358 | name = Release; 359 | }; 360 | 472E0328C639C74AEAA0D9C8C3D91F90 /* Debug */ = { 361 | isa = XCBuildConfiguration; 362 | baseConfigurationReference = 149054C495E8EC590CAB4C524133016F /* Pods-Example.debug.xcconfig */; 363 | buildSettings = { 364 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 365 | CURRENT_PROJECT_VERSION = 1; 366 | DEBUG_INFORMATION_FORMAT = dwarf; 367 | DEFINES_MODULE = YES; 368 | DYLIB_COMPATIBILITY_VERSION = 1; 369 | DYLIB_CURRENT_VERSION = 1; 370 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 371 | ENABLE_STRICT_OBJC_MSGSEND = YES; 372 | GCC_NO_COMMON_BLOCKS = YES; 373 | INFOPLIST_FILE = "Target Support Files/Pods-Example/Info.plist"; 374 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 375 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 376 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 377 | MACH_O_TYPE = staticlib; 378 | MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap"; 379 | MTL_ENABLE_DEBUG_INFO = YES; 380 | OTHER_LDFLAGS = ""; 381 | OTHER_LIBTOOLFLAGS = ""; 382 | PODS_ROOT = "$(SRCROOT)"; 383 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 384 | PRODUCT_NAME = Pods_Example; 385 | SDKROOT = iphoneos; 386 | SKIP_INSTALL = YES; 387 | TARGETED_DEVICE_FAMILY = "1,2"; 388 | VERSIONING_SYSTEM = "apple-generic"; 389 | VERSION_INFO_PREFIX = ""; 390 | }; 391 | name = Debug; 392 | }; 393 | 5E62115DE8C09934BF8D2FE5D15FED1E /* Debug */ = { 394 | isa = XCBuildConfiguration; 395 | buildSettings = { 396 | ALWAYS_SEARCH_USER_PATHS = NO; 397 | CLANG_ANALYZER_NONNULL = YES; 398 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 399 | CLANG_CXX_LIBRARY = "libc++"; 400 | CLANG_ENABLE_MODULES = YES; 401 | CLANG_ENABLE_OBJC_ARC = YES; 402 | CLANG_WARN_BOOL_CONVERSION = YES; 403 | CLANG_WARN_CONSTANT_CONVERSION = YES; 404 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 405 | CLANG_WARN_EMPTY_BODY = YES; 406 | CLANG_WARN_ENUM_CONVERSION = YES; 407 | CLANG_WARN_INT_CONVERSION = YES; 408 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 409 | CLANG_WARN_UNREACHABLE_CODE = YES; 410 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 411 | COPY_PHASE_STRIP = NO; 412 | ENABLE_TESTABILITY = YES; 413 | GCC_C_LANGUAGE_STANDARD = gnu99; 414 | GCC_DYNAMIC_NO_PIC = NO; 415 | GCC_OPTIMIZATION_LEVEL = 0; 416 | GCC_PREPROCESSOR_DEFINITIONS = ( 417 | "POD_CONFIGURATION_DEBUG=1", 418 | "DEBUG=1", 419 | "$(inherited)", 420 | ); 421 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 422 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 423 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 424 | GCC_WARN_UNDECLARED_SELECTOR = YES; 425 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 426 | GCC_WARN_UNUSED_FUNCTION = YES; 427 | GCC_WARN_UNUSED_VARIABLE = YES; 428 | IPHONEOS_DEPLOYMENT_TARGET = 9.3; 429 | ONLY_ACTIVE_ARCH = YES; 430 | STRIP_INSTALLED_PRODUCT = NO; 431 | SYMROOT = "${SRCROOT}/../build"; 432 | }; 433 | name = Debug; 434 | }; 435 | 9FDC72BF2DCDD9A39181F9EAA6A7F622 /* Debug */ = { 436 | isa = XCBuildConfiguration; 437 | baseConfigurationReference = 879E1B131FC95CBB0A811A9CA28DE1E8 /* BGTableViewRowActionWithImage.xcconfig */; 438 | buildSettings = { 439 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 440 | CURRENT_PROJECT_VERSION = 1; 441 | DEBUG_INFORMATION_FORMAT = dwarf; 442 | DEFINES_MODULE = YES; 443 | DYLIB_COMPATIBILITY_VERSION = 1; 444 | DYLIB_CURRENT_VERSION = 1; 445 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 446 | ENABLE_STRICT_OBJC_MSGSEND = YES; 447 | GCC_NO_COMMON_BLOCKS = YES; 448 | GCC_PREFIX_HEADER = "Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage-prefix.pch"; 449 | INFOPLIST_FILE = "Target Support Files/BGTableViewRowActionWithImage/Info.plist"; 450 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 451 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 452 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 453 | MODULEMAP_FILE = "Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.modulemap"; 454 | MTL_ENABLE_DEBUG_INFO = YES; 455 | PRODUCT_NAME = BGTableViewRowActionWithImage; 456 | SDKROOT = iphoneos; 457 | SKIP_INSTALL = YES; 458 | TARGETED_DEVICE_FAMILY = "1,2"; 459 | VERSIONING_SYSTEM = "apple-generic"; 460 | VERSION_INFO_PREFIX = ""; 461 | }; 462 | name = Debug; 463 | }; 464 | A7072C37DAB25489CCE559279BCD1674 /* Release */ = { 465 | isa = XCBuildConfiguration; 466 | baseConfigurationReference = 879E1B131FC95CBB0A811A9CA28DE1E8 /* BGTableViewRowActionWithImage.xcconfig */; 467 | buildSettings = { 468 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 469 | CURRENT_PROJECT_VERSION = 1; 470 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 471 | DEFINES_MODULE = YES; 472 | DYLIB_COMPATIBILITY_VERSION = 1; 473 | DYLIB_CURRENT_VERSION = 1; 474 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 475 | ENABLE_STRICT_OBJC_MSGSEND = YES; 476 | GCC_NO_COMMON_BLOCKS = YES; 477 | GCC_PREFIX_HEADER = "Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage-prefix.pch"; 478 | INFOPLIST_FILE = "Target Support Files/BGTableViewRowActionWithImage/Info.plist"; 479 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 480 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 481 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 482 | MODULEMAP_FILE = "Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.modulemap"; 483 | MTL_ENABLE_DEBUG_INFO = NO; 484 | PRODUCT_NAME = BGTableViewRowActionWithImage; 485 | SDKROOT = iphoneos; 486 | SKIP_INSTALL = YES; 487 | TARGETED_DEVICE_FAMILY = "1,2"; 488 | VERSIONING_SYSTEM = "apple-generic"; 489 | VERSION_INFO_PREFIX = ""; 490 | }; 491 | name = Release; 492 | }; 493 | /* End XCBuildConfiguration section */ 494 | 495 | /* Begin XCConfigurationList section */ 496 | 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 497 | isa = XCConfigurationList; 498 | buildConfigurations = ( 499 | 5E62115DE8C09934BF8D2FE5D15FED1E /* Debug */, 500 | 3FA451D268613890FA8A5A03801E11D5 /* Release */, 501 | ); 502 | defaultConfigurationIsVisible = 0; 503 | defaultConfigurationName = Release; 504 | }; 505 | 7D6F0421BC26709AB070FB538C50CD14 /* Build configuration list for PBXNativeTarget "BGTableViewRowActionWithImage" */ = { 506 | isa = XCConfigurationList; 507 | buildConfigurations = ( 508 | 9FDC72BF2DCDD9A39181F9EAA6A7F622 /* Debug */, 509 | A7072C37DAB25489CCE559279BCD1674 /* Release */, 510 | ); 511 | defaultConfigurationIsVisible = 0; 512 | defaultConfigurationName = Release; 513 | }; 514 | 9078860C82C49EE03BFCBE93F32F3382 /* Build configuration list for PBXNativeTarget "Pods-Example" */ = { 515 | isa = XCConfigurationList; 516 | buildConfigurations = ( 517 | 472E0328C639C74AEAA0D9C8C3D91F90 /* Debug */, 518 | 1B265FA296C6418E4C421358A40AE08F /* Release */, 519 | ); 520 | defaultConfigurationIsVisible = 0; 521 | defaultConfigurationName = Release; 522 | }; 523 | /* End XCConfigurationList section */ 524 | }; 525 | rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 526 | } 527 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_BGTableViewRowActionWithImage : NSObject 3 | @end 4 | @implementation PodsDummy_BGTableViewRowActionWithImage 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage-umbrella.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "BGTableViewRowActionWithImage.h" 4 | 5 | FOUNDATION_EXPORT double BGTableViewRowActionWithImageVersionNumber; 6 | FOUNDATION_EXPORT const unsigned char BGTableViewRowActionWithImageVersionString[]; 7 | 8 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.modulemap: -------------------------------------------------------------------------------- 1 | framework module BGTableViewRowActionWithImage { 2 | umbrella header "BGTableViewRowActionWithImage-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/BGTableViewRowActionWithImage 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | OTHER_LDFLAGS = -framework "UIKit" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/BGTableViewRowActionWithImage/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.3.5 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## BGTableViewRowActionWithImage 5 | 6 | Copyright (c) 2015-2016+ Ben Guild 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | Generated by CocoaPods - https://cocoapods.org 27 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright (c) 2015-2016+ Ben Guild <benguild@users.noreply.github.com> 18 | 19 | Permission is hereby granted, free of charge, to any person obtaining a copy 20 | of this software and associated documentation files (the "Software"), to deal 21 | in the Software without restriction, including without limitation the rights 22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 23 | copies of the Software, and to permit persons to whom the Software is 24 | furnished to do so, subject to the following conditions: 25 | 26 | The above copyright notice and this permission notice shall be included in 27 | all copies or substantial portions of the Software. 28 | 29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 35 | THE SOFTWARE. 36 | 37 | Title 38 | BGTableViewRowActionWithImage 39 | Type 40 | PSGroupSpecifier 41 | 42 | 43 | FooterText 44 | Generated by CocoaPods - https://cocoapods.org 45 | Title 46 | 47 | Type 48 | PSGroupSpecifier 49 | 50 | 51 | StringsTable 52 | Acknowledgements 53 | Title 54 | Acknowledgements 55 | 56 | 57 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Example 5 | @end 6 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | 86 | if [[ "$CONFIGURATION" == "Debug" ]]; then 87 | install_framework "$BUILT_PRODUCTS_DIR/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.framework" 88 | fi 89 | if [[ "$CONFIGURATION" == "Release" ]]; then 90 | install_framework "$BUILT_PRODUCTS_DIR/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.framework" 91 | fi 92 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | realpath() { 27 | DIRECTORY="$(cd "${1%/*}" && pwd)" 28 | FILENAME="${1##*/}" 29 | echo "$DIRECTORY/$FILENAME" 30 | } 31 | 32 | install_resource() 33 | { 34 | if [[ "$1" = /* ]] ; then 35 | RESOURCE_PATH="$1" 36 | else 37 | RESOURCE_PATH="${PODS_ROOT}/$1" 38 | fi 39 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 40 | cat << EOM 41 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 42 | EOM 43 | exit 1 44 | fi 45 | case $RESOURCE_PATH in 46 | *.storyboard) 47 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 48 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 49 | ;; 50 | *.xib) 51 | echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" 52 | ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 53 | ;; 54 | *.framework) 55 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 56 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 57 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 58 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 59 | ;; 60 | *.xcdatamodel) 61 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 62 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 63 | ;; 64 | *.xcdatamodeld) 65 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 66 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 67 | ;; 68 | *.xcmappingmodel) 69 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 70 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 71 | ;; 72 | *.xcassets) 73 | ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH") 74 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 75 | ;; 76 | *) 77 | echo "$RESOURCE_PATH" 78 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 79 | ;; 80 | esac 81 | } 82 | 83 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 84 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 85 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 86 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 87 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 88 | fi 89 | rm -f "$RESOURCES_TO_COPY" 90 | 91 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 92 | then 93 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 94 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 95 | while read line; do 96 | if [[ $line != "`realpath $PODS_ROOT`*" ]]; then 97 | XCASSET_FILES+=("$line") 98 | fi 99 | done <<<"$OTHER_XCASSETS" 100 | 101 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 102 | fi 103 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | FOUNDATION_EXPORT double Pods_ExampleVersionNumber; 5 | FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[]; 6 | 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/BGTableViewRowActionWithImage" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -framework "BGTableViewRowActionWithImage" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Example { 2 | umbrella header "Pods-Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Example/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/BGTableViewRowActionWithImage" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/BGTableViewRowActionWithImage/BGTableViewRowActionWithImage.framework/Headers" 5 | OTHER_LDFLAGS = $(inherited) -framework "BGTableViewRowActionWithImage" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-2016+ Ben Guild 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BGTableViewRowActionWithImage 2 | 3 | **NOTE:** This project is and always was kind of a hack 🤷🏼‍♂️, and is no longer being maintained by the author as of March 2018 now that Apple has given us **`UIContextualAction`** in iOS 11: https://developer.apple.com/documentation/uikit/uicontextualaction 4 | 5 | _**For iOS 11 and above,** you MUST use this instead!_ ⬆️ 6 | 7 | -------- 8 | 9 | A variation on the iOS 8.0+ `UITableViewRowAction` to support icons, with text below. Similar to the iOS 9 Mail application and various third-party applications. We're all secretly hoping that Apple will implement this functionality with a native, public API in a future iOS update. 10 | 11 | **This iOS 8-10 implementation isn't ideal,** but it works. In iOS 11 and later, you MUST use Apple's built-in `UIContextualAction` instead! This library may still work for you in its default configuration, but is no longer supported by iOS 11 and later. 12 | 13 | [![Version](https://img.shields.io/cocoapods/v/BGTableViewRowActionWithImage.svg?style=flat)](http://cocoapods.org/pods/BGTableViewRowActionWithImage) 14 | [![License](https://img.shields.io/cocoapods/l/BGTableViewRowActionWithImage.svg?style=flat)](http://cocoapods.org/pods/BGTableViewRowActionWithImage) 15 | [![Platform](https://img.shields.io/cocoapods/p/BGTableViewRowActionWithImage.svg?style=flat)](http://cocoapods.org/pods/BGTableViewRowActionWithImage) 16 | 17 | ## Objective-C Usage 18 | 19 | ```objc 20 | // Regular width 21 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 22 | title:(NSString *)title 23 | backgroundColor:(UIColor *)backgroundColor 24 | image:(UIImage *)image 25 | forCellHeight:(NSUInteger)cellHeight 26 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 27 | 28 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 29 | title:(NSString *)title 30 | titleColor:(UIColor *)titleColor 31 | backgroundColor:(UIColor *)backgroundColor 32 | image:(UIImage *)image 33 | forCellHeight:(NSUInteger)cellHeight 34 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 35 | 36 | // Optional fitted width (ideal when using 3 or more cells in smaller tables) 37 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 38 | title:(NSString *)title 39 | backgroundColor:(UIColor *)backgroundColor 40 | image:(UIImage *)image 41 | forCellHeight:(NSUInteger)cellHeight 42 | andFittedWidth:(BOOL)isWidthFitted 43 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 44 | 45 | + (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style 46 | title:(NSString *)title 47 | titleColor:(UIColor *)titleColor 48 | backgroundColor:(UIColor *)backgroundColor 49 | image:(UIImage *)image 50 | forCellHeight:(NSUInteger)cellHeight 51 | andFittedWidth:(BOOL)isWidthFitted 52 | handler:(void (^)(UITableViewRowAction *, NSIndexPath *))handler; 53 | ``` 54 | 55 | Use **one** of these constructors **only** to configure each row action, depending on your needs. Manually setting the `backgroundColor` property of a row action after calling a constructor will probably result in unexpected behavior, and should be avoided. 56 | 57 | ## Swift 58 | 59 | For **Swift**, the syntax changes slightly: 60 | 61 | ```swift 62 | // In your imports: 63 | import BGTableViewRowActionWithImage 64 | 65 | // In your code: 66 | BGTableViewRowActionWithImage.rowActionWithStyle(/* see above for parameters... */) 67 | ``` 68 | 69 | See *"Objective-C Usage"* above for parameter configurations and **other important notes**. 70 | 71 | ## Demo 72 | 73 | ![Example screenshot](https://raw.github.com/benguild/BGTableViewRowActionWithImage/master/demo.jpg "Example screenshot") 74 | 75 | ## Installation 76 | 77 | `BGTableViewRowActionWithImage` is available through [CocoaPods](http://cocoapods.org). To install 78 | it, simply add the following line to your Podfile: 79 | 80 | ```ruby 81 | pod "BGTableViewRowActionWithImage" 82 | ``` 83 | 84 | ## Author 85 | 86 | Ben Guild, hello@benguild.com 87 | 88 | ## License 89 | 90 | `BGTableViewRowActionWithImage` is available under the MIT license. See the LICENSE file for more info. 91 | -------------------------------------------------------------------------------- /demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benguild/BGTableViewRowActionWithImage/b4e0cb58861f72f8a00f024aca92a974c90564c0/demo.jpg --------------------------------------------------------------------------------