├── ACPButtons
├── en.lproj
│ ├── InfoPlist.strings
│ ├── MainStoryboard_iPad.storyboard
│ └── MainStoryboard_iPhone.storyboard
├── Default.png
├── Images
│ ├── bg.png
│ ├── bg@2X.png
│ ├── cont-bt_normal.png
│ ├── alert-gray-button.png
│ ├── cont-bt_normal@2x.png
│ ├── alert-gray-button@2x.png
│ ├── cont-bt_highlighted.png
│ └── cont-bt_highlighted@2x.png
├── Default@2x.png
├── Default-568h@2x.png
├── AppDelegate.h
├── ACPButtons-Prefix.pch
├── main.m
├── ViewController.h
├── ACPButtons-Info.plist
├── AppDelegate.m
└── ViewController.m
├── Screenshot1.png
├── Screenshot2.png
├── ACPButtonsTests
├── en.lproj
│ └── InfoPlist.strings
├── ACPButtonsTests.h
├── ACPButtonsTests.m
└── ACPButtonsTests-Info.plist
├── ACPButtons.xcodeproj
├── xcuserdata
│ └── ACP.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints.xcbkptlist
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── ACPButtons.xcscheme
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── ACP.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ └── WorkspaceSettings.xcsettings
└── project.pbxproj
├── .gitignore
├── ACPButton.podspec
├── LICENSE
├── README.md
├── ACPButton.h
└── ACPButton.m
/ACPButtons/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/Screenshot1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/Screenshot1.png
--------------------------------------------------------------------------------
/Screenshot2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/Screenshot2.png
--------------------------------------------------------------------------------
/ACPButtonsTests/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/ACPButtons/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Default.png
--------------------------------------------------------------------------------
/ACPButtons/Images/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/bg.png
--------------------------------------------------------------------------------
/ACPButtons/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Default@2x.png
--------------------------------------------------------------------------------
/ACPButtons/Images/bg@2X.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/bg@2X.png
--------------------------------------------------------------------------------
/ACPButtons/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Default-568h@2x.png
--------------------------------------------------------------------------------
/ACPButtons/Images/cont-bt_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/cont-bt_normal.png
--------------------------------------------------------------------------------
/ACPButtons/Images/alert-gray-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/alert-gray-button.png
--------------------------------------------------------------------------------
/ACPButtons/Images/cont-bt_normal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/cont-bt_normal@2x.png
--------------------------------------------------------------------------------
/ACPButtons/Images/alert-gray-button@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/alert-gray-button@2x.png
--------------------------------------------------------------------------------
/ACPButtons/Images/cont-bt_highlighted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/cont-bt_highlighted.png
--------------------------------------------------------------------------------
/ACPButtons/Images/cont-bt_highlighted@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons/Images/cont-bt_highlighted@2x.png
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/xcuserdata/ACP.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/project.xcworkspace/xcuserdata/ACP.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/antoniocasero/ACPButton/HEAD/ACPButtons.xcodeproj/project.xcworkspace/xcuserdata/ACP.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ACPButtonsTests/ACPButtonsTests.h:
--------------------------------------------------------------------------------
1 | //
2 | // ACPButtonsTests.h
3 | // ACPButtonsTests
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ACPButtonsTests : SenTestCase
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/ACPButtons/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // ACPButtons
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/ACPButtons/ACPButtons-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'ACPButtons' target in the 'ACPButtons' project
3 | //
4 |
5 | #import
6 |
7 | #ifndef __IPHONE_5_0
8 | #warning "This project uses features only available in iOS SDK 5.0 and later."
9 | #endif
10 |
11 | #ifdef __OBJC__
12 | #import
13 | #import
14 | #endif
15 |
--------------------------------------------------------------------------------
/ACPButtons/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // ACPButtons
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "AppDelegate.h"
12 |
13 | int main(int argc, char *argv[])
14 | {
15 | @autoreleasepool {
16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/project.xcworkspace/xcuserdata/ACP.xcuserdatad/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges
6 |
7 | SnapshotAutomaticallyBeforeSignificantChanges
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X Finder
2 | .DS_Store
3 |
4 | # Xcode per-user config
5 | *.mode1
6 | *.mode1v3
7 | *.mode2v3
8 | *.perspective
9 | *.perspectivev3
10 | *.pbxuser
11 | *.xccheckout
12 | *.xcworkspace
13 | xcuserdata
14 | !default.xcworkspace
15 | xcuserdata
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | # Build products
20 | build/
21 | *.o
22 | *.LinkFileList
23 | *.hmap
24 | # Automatic backup files
25 | *~.nib/
26 | *.swp
27 | *~
28 | *.dat
29 | *.dep
30 | # Cocoapods
31 | Pods
32 | # AppCode specific files
33 | .idea/
34 | *.iml
--------------------------------------------------------------------------------
/ACPButtonsTests/ACPButtonsTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // ACPButtonsTests.m
3 | // ACPButtonsTests
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import "ACPButtonsTests.h"
10 |
11 | @implementation ACPButtonsTests
12 |
13 | - (void)setUp
14 | {
15 | [super setUp];
16 |
17 | // Set-up code here.
18 | }
19 |
20 | - (void)tearDown
21 | {
22 | // Tear-down code here.
23 |
24 | [super tearDown];
25 | }
26 |
27 | - (void)testExample
28 | {
29 | STFail(@"Unit tests are not implemented yet in ACPButtonsTests");
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/ACPButton.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "ACPButton"
3 | s.version = "1.0.0"
4 | s.summary = "UIButton subclass to easily add custom buttons to your iOS app."
5 | s.homepage = "https://github.com/antoniocasero/ACPButton"
6 | s.screenshots = "https://github.com/antoniocasero/ACPButton/blob/master/Screenshot1.png"
7 | s.license = { :type => 'MIT', :file => 'LICENSE' }
8 | s.author = { "Antonio Casero" => "anto.casero@gmail.com" }
9 | s.source = { :git => "https://github.com/antoniocasero/ACPButton.git", :tag => '1.0.0' }
10 | s.platform = :ios, '5.0'
11 | s.source_files = 'ACPButton.{h,m}'
12 | s.requires_arc = true
13 | end
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/xcuserdata/ACP.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ACPButtons.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | 7C95B24A1792B3A600376DFE
16 |
17 | primary
18 |
19 |
20 | 7C95B2731792B3A700376DFE
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/ACPButtonsTests/ACPButtonsTests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | com.utoppia.${PRODUCT_NAME:rfc1034identifier}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ACPButtons/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // ACPButtons
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ACPButton.h"
11 |
12 |
13 | @interface ViewController : UIViewController
14 |
15 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonNoImage1;
16 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonNoImage2;
17 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonNoImage3;
18 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonNoImage4;
19 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonNoImage5;
20 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonWithImage1;
21 | @property (weak, nonatomic) IBOutlet ACPButton *testButtonWithImage2;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 Antonio Casero
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/ACPButtons/ACPButtons-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleIdentifier
12 | com.utoppia.${PRODUCT_NAME:rfc1034identifier}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.0
25 | LSRequiresIPhoneOS
26 |
27 | UIMainStoryboardFile
28 | MainStoryboard_iPhone
29 | UIMainStoryboardFile~ipad
30 | MainStoryboard_iPad
31 | UIRequiredDeviceCapabilities
32 |
33 | armv7
34 |
35 | UISupportedInterfaceOrientations
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationLandscapeLeft
39 | UIInterfaceOrientationLandscapeRight
40 |
41 | UISupportedInterfaceOrientations~ipad
42 |
43 | UIInterfaceOrientationPortrait
44 | UIInterfaceOrientationPortraitUpsideDown
45 | UIInterfaceOrientationLandscapeLeft
46 | UIInterfaceOrientationLandscapeRight
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/ACPButtons/en.lproj/MainStoryboard_iPad.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 |
--------------------------------------------------------------------------------
/ACPButtons/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // ACPButtons
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 |
11 | @implementation AppDelegate
12 |
13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
14 | {
15 | // Override point for customization after application launch.
16 | return YES;
17 | }
18 |
19 | - (void)applicationWillResignActive:(UIApplication *)application
20 | {
21 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
22 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
23 | }
24 |
25 | - (void)applicationDidEnterBackground:(UIApplication *)application
26 | {
27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
29 | }
30 |
31 | - (void)applicationWillEnterForeground:(UIApplication *)application
32 | {
33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
34 | }
35 |
36 | - (void)applicationDidBecomeActive:(UIApplication *)application
37 | {
38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
39 | }
40 |
41 | - (void)applicationWillTerminate:(UIApplication *)application
42 | {
43 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ACPButton
2 |
3 | **⚠️ Important note! This library is not maintained anymore. Feel free to keep it updated by yourself, either forking or asking for being the contributor.**
4 |
5 | This extension of UIButton allow you to have full control of your project buttons from one class. This class give you the oportunity to create buttons completly image free, combining flat color, gradients, borders etc. You also can create easily buttons using resizable images.
6 |
7 | 
8 |
9 |
10 | ## Instalation
11 |
12 | ### From [CocoaPods][1]
13 |
14 | pod `ACPButton`
15 |
16 | ### From source
17 |
18 | Clone the repository
19 |
20 | [*$ git clone git@github.com:antoniocasero/ACPButton.git*]()
21 |
22 | Or just drag this class to your project and import `ACPButton` to your viewcontroller.
23 |
24 |
25 | ## Implementing
26 |
27 | In the storyboard or XIB file, select your button and change the button class to ACPButton
28 |
29 | 
30 |
31 | Then, on viewDidLoad you can set up the button depending of yor needs,
32 |
33 | * ```- (void) setStyleType:(ACPButtonType)style;```
34 | * `- (void) setFlatStyleType:(ACPButtonType)style;`
35 | * `- (void) setFlatStyle:(UIColor*)normal andHighlightedColor:(UIColor*)highlight;`
36 | * `- (void) setStyle:(UIColor*)topColor andBottomColor:(UIColor*)bottomColor;`
37 | * `- (void) setStyleWithImage:(NSString*)image highlightedImage:(NSString*)hImage disableImage:(NSString *)dImage andInsets:(UIEdgeInsets)insets;`
38 | * ```- (void) setGlowHighlightedState:(BOOL)glowOption;```
39 |
40 |
41 | ## Compatibility
42 |
43 | - Supports ARC. If you want to use it in a project without ARC, mark ACPButton.m with the linker flag-fobjc-arc.
44 | - Compatible with iOS5+.
45 |
46 | ## License
47 |
48 | `ACPButton` is available under the MIT license. See the LICENSE file for more info.
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | [1]: http://www.cocoapods.org
69 |
70 | [1]: Screenshot1.png
71 | [2]: Screenshot2.png
72 |
73 |
74 | [](https://bitdeli.com/free "Bitdeli Badge")
75 |
76 |
--------------------------------------------------------------------------------
/ACPButtons/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // ACPButtons
4 | //
5 | // Created by Antonio Casero Palmero on 7/14/13.
6 | // Copyright (c) 2013 ACP. All rights reserved.
7 | //
8 |
9 | #import "ViewController.h"
10 |
11 | @interface ViewController ()
12 |
13 | @end
14 |
15 | @implementation ViewController
16 |
17 | - (void)viewDidLoad
18 | {
19 | [super viewDidLoad];
20 |
21 | self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]];
22 |
23 |
24 |
25 | //We set up different buttons
26 |
27 | /*--------------------------------------------------------------------------
28 | Custom buttons with gradients
29 | --------------------------------------------------------------------------*/
30 |
31 | [_testButtonNoImage1 setStyleType:ACPButtonOK];
32 | [_testButtonNoImage1 setLabelTextColor:[UIColor whiteColor] highlightedColor:[UIColor whiteColor] disableColor:nil];
33 | [_testButtonNoImage1 setLabelFont:[UIFont fontWithName:@"Trebuchet MS" size:20]];
34 |
35 |
36 | [_testButtonNoImage2 setStyleType:ACPButtonCancel];
37 | [_testButtonNoImage2 setCornerRadius:10];
38 |
39 |
40 | [_testButtonNoImage3 setStyle:[UIColor yellowColor] andBottomColor:[UIColor orangeColor]];
41 | [_testButtonNoImage3 setLabelTextColor:[UIColor orangeColor] highlightedColor:[UIColor redColor] disableColor:nil];
42 | [_testButtonNoImage3 setCornerRadius:20];
43 | [_testButtonNoImage3 setBorderStyle:[UIColor orangeColor] andInnerColor:nil];
44 | // [_testButtonNoImage3 setGlowHighlightedState:YES];
45 |
46 | /*--------------------------------------------------------------------------
47 | Custom Flat buttons
48 | --------------------------------------------------------------------------*/
49 | [_testButtonNoImage4 setFlatStyleType:ACPButtonGrey];
50 | [_testButtonNoImage5 setFlatStyleType:ACPButtonDarkGrey];
51 | [_testButtonNoImage5 setBorderStyle:[UIColor blackColor] andInnerColor:[UIColor darkGrayColor]];
52 | [_testButtonNoImage5 setLabelFont:[UIFont fontWithName:@"Trebuchet MS" size:20]];
53 |
54 | /*--------------------------------------------------------------------------
55 | Image resize buttons
56 | --------------------------------------------------------------------------*/
57 | [_testButtonWithImage1 setStyleWithImage:@"cont-bt_normal.png" highlightedImage:@"cont-bt_normal.png" disableImage:nil andInsets:UIEdgeInsetsMake(19, 7, 19, 7)];
58 | [_testButtonWithImage1 setLabelTextShadow:CGSizeMake(-1, -1) normalColor:[UIColor blackColor] highlightedColor:nil disableColor:nil];
59 | [_testButtonWithImage1 setLabelFont:[UIFont fontWithName:@"Helvetica-BoldOblique" size:20]];
60 | [_testButtonWithImage1 setGlowHighlightedState:YES];
61 |
62 |
63 | [_testButtonWithImage2 setStyleWithImage:@"alert-gray-button.png" highlightedImage:nil disableImage:nil andInsets:UIEdgeInsetsMake(19, 7, 19, 7)];
64 | [_testButtonWithImage2 setGlowHighlightedState:YES];
65 |
66 |
67 |
68 | }
69 |
70 | - (void)didReceiveMemoryWarning
71 | {
72 | [super didReceiveMemoryWarning];
73 | // Dispose of any resources that can be recreated.
74 | }
75 |
76 | @end
77 |
--------------------------------------------------------------------------------
/ACPButton.h:
--------------------------------------------------------------------------------
1 | //
2 | // ACPButton.h
3 | //
4 | // Created by Antonio Casero
5 | // Copyright (c) 2013 Antonio Casero. All rights reserved.
6 | //
7 |
8 |
9 | #import
10 | #import
11 |
12 | @interface ACPButton : UIButton
13 |
14 | typedef enum {
15 |
16 | ACPButtonOK,
17 | ACPButtonCancel,
18 | ACPButtonBlue,
19 | ACPButtonGrey,
20 | ACPButtonDarkGrey,
21 | ACPButtonPurple
22 |
23 | } ACPButtonType;
24 |
25 | /*--------------------------------------------------------------------------
26 | Set up a predefine button
27 | --------------------------------------------------------------------------*/
28 | - (void) setStyleType:(ACPButtonType)style;
29 |
30 | /*--------------------------------------------------------------------------
31 | Create your own button using images.
32 | --------------------------------------------------------------------------*/
33 | - (void) setStyleWithImage:(NSString*)image highlightedImage:(NSString*)hImage disableImage:(NSString*)dImage andInsets:(UIEdgeInsets)insets;
34 |
35 | /*--------------------------------------------------------------------------
36 | Set up a predefine flat button
37 | --------------------------------------------------------------------------*/
38 | - (void) setFlatStyleType:(ACPButtonType)style;
39 |
40 | /*--------------------------------------------------------------------------
41 | Set up a custom flat button
42 | --------------------------------------------------------------------------*/
43 | - (void) setFlatStyle:(UIColor*)normal andHighlightedColor:(UIColor*)highlighted;
44 |
45 | /*--------------------------------------------------------------------------
46 | Define your own gradient style
47 | --------------------------------------------------------------------------*/
48 | - (void) setStyle:(UIColor*)topColor andBottomColor:(UIColor*)bottomColor;
49 |
50 | /*--------------------------------------------------------------------------
51 | Set color borders - External and inner
52 | --------------------------------------------------------------------------*/
53 | - (void) setBorderStyle:(UIColor*)borderColor andInnerColor:(UIColor*)innerColor;
54 |
55 |
56 | /*--------------------------------------------------------------------------
57 | Define the corner radius
58 | --------------------------------------------------------------------------*/
59 | - (void) setCornerRadius:(NSInteger)value;
60 |
61 | /*--------------------------------------------------------------------------
62 | Define the color of the label
63 | --------------------------------------------------------------------------*/
64 | - (void) setLabelTextColor:(UIColor*)nColor highlightedColor:(UIColor*)hColor disableColor:(UIColor*)dColor;
65 |
66 | /*--------------------------------------------------------------------------
67 | Define the color of the text shadow
68 | --------------------------------------------------------------------------*/
69 | - (void) setLabelTextShadow:(CGSize)shadowOffSet normalColor:(UIColor*)nColor highlightedColor:(UIColor*)hColor disableColor:(UIColor*)dColor;
70 |
71 | /*--------------------------------------------------------------------------
72 | Change font of the button
73 | --------------------------------------------------------------------------*/
74 | - (void) setLabelFont:(UIFont*)font;
75 |
76 | /*--------------------------------------------------------------------------
77 | Label with glow
78 | --------------------------------------------------------------------------*/
79 | - (void) setGlowHighlightedState:(BOOL)glowOption;
80 |
81 | @end
82 |
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/xcuserdata/ACP.xcuserdatad/xcschemes/ACPButtons.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 |
52 |
61 |
62 |
68 |
69 |
70 |
71 |
72 |
73 |
79 |
80 |
86 |
87 |
88 |
89 |
91 |
92 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/ACPButtons/en.lproj/MainStoryboard_iPhone.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
24 |
32 |
45 |
53 |
61 |
69 |
80 |
88 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/ACPButton.m:
--------------------------------------------------------------------------------
1 |
2 | //
3 | // ACPButton.m
4 | //
5 | // Created by Antonio Casero
6 | // Copyright (c) 2013 Antonio Casero. All rights reserved.
7 | //
8 |
9 | #import "ACPButton.h"
10 |
11 | //Values by default - Set up this values depending of your project design!
12 |
13 | #define kLabelFont [UIFont fontWithName:@"HelveticaNeue" size:15]
14 | #define kColorFontNormal [UIColor whiteColor]
15 | #define kColorFontHighlighted [UIColor whiteColor]
16 | #define kColorFontDisable [UIColor grayColor]
17 |
18 | #define kColorShadowNormal [UIColor blackColor]
19 | #define kColorShadowHighlighted [UIColor whiteColor]
20 | #define kColorShadowDisable [UIColor clearColor]
21 |
22 |
23 | #define kShadowOffset CGSizeMake(0, 0)
24 |
25 | #define kCornerRadius 5
26 |
27 | @interface ACPButton ()
28 |
29 |
30 | @property (strong, nonatomic) UIColor * borderColor;
31 | @property (strong, nonatomic) UIColor * inneColor;
32 | @property (strong, nonatomic) UIColor * topColor;
33 | @property (strong, nonatomic) UIColor * bottomColor;
34 |
35 | //Flat style
36 | @property (assign, nonatomic) BOOL isFlat;
37 | @property (strong, nonatomic) UIColor * normalStateColor;
38 | @property (strong, nonatomic) UIColor * highlightedColor;
39 |
40 | @property (assign, nonatomic) NSInteger buttonRadius;
41 |
42 | //Glow
43 | @property (assign, nonatomic) BOOL glowActivated;
44 |
45 |
46 |
47 | @end
48 |
49 | @implementation ACPButton
50 |
51 |
52 |
53 | -(id)initWithCoder:(NSCoder *)aDecoder {
54 |
55 | self = [super initWithCoder:aDecoder];
56 | if(self) {
57 |
58 | /*--------------------------------------------------------------------------
59 | This type of button is created by default.
60 | --------------------------------------------------------------------------*/
61 |
62 | [self setStyleType:ACPButtonGrey];
63 | _glowActivated = NO; //By default
64 | }
65 | return self;
66 | }
67 |
68 |
69 |
70 |
71 | - (void) setStyleType:(ACPButtonType)style {
72 |
73 | _isFlat = NO;
74 |
75 | switch (style) {
76 |
77 | /*--------------------------------------------------------------------------
78 | You can set this values acording with your project
79 | --------------------------------------------------------------------------*/
80 |
81 |
82 | case ACPButtonOK:
83 | _topColor = [UIColor colorWithRed:0.588235 green:0.847059 blue:0.396078 alpha:1];
84 | _bottomColor=[UIColor colorWithRed:0.388235 green:0.650980 blue:0.184314 alpha:1];
85 | _borderColor = [UIColor colorWithRed:0.388235 green:0.650980 blue:0.184314 alpha:1] ;
86 | _inneColor = nil;
87 | break;
88 | case ACPButtonBlue:
89 | _topColor = [UIColor colorWithRed:0.423529 green:0.713726 blue:0.921569 alpha:1];
90 | _bottomColor=[UIColor colorWithRed:0.211765 green:0.482353 blue:0.815686 alpha:1];
91 | _borderColor = [UIColor colorWithRed:0.250980 green:0.505882 blue:0.686275 alpha:1] ;
92 | _inneColor = nil;
93 | break;
94 | case ACPButtonGrey:
95 | _topColor = [UIColor colorWithRed:0.627451 green:0.627451 blue:0.627451 alpha:1];
96 | _bottomColor=[UIColor colorWithRed:0.509804 green:0.509804 blue:0.509804 alpha:1];
97 | _borderColor = [UIColor colorWithRed:0.627451 green:0.627451 blue:0.627451 alpha:1] ;
98 | _inneColor = nil;
99 | break;
100 | case ACPButtonCancel:
101 | _topColor = [UIColor colorWithRed:0.929412 green:0.392157 blue:0.290196 alpha:1];
102 | _bottomColor=[UIColor colorWithRed:0.839216 green:0.282353 blue:0.270588 alpha:1];
103 | _borderColor = [UIColor colorWithRed:0.815686 green:0.215686 blue:0.145098 alpha:1];
104 | _inneColor = nil;
105 | break;
106 | case ACPButtonDarkGrey:
107 | _topColor = [UIColor colorWithRed:0.525490 green:0.525490 blue:0.525490 alpha:1];
108 | _bottomColor=[UIColor colorWithRed:0.262745 green:0.258824 blue:0.262745 alpha:1];
109 | _borderColor = [UIColor colorWithRed:0.117647 green:0.117647 blue:0.117647 alpha:1];
110 | _inneColor = nil;
111 | break;
112 | case ACPButtonPurple:
113 | _topColor = [UIColor colorWithRed:0.807843 green:0.552941 blue:0.929412 alpha:1];
114 | _bottomColor=[UIColor colorWithRed:0.603922 green:0.368627 blue:0.784314 alpha:1];
115 | _borderColor = [UIColor colorWithRed:0.364706 green:0.168627 blue:0.541176 alpha:1];
116 | _inneColor = nil;
117 | break;
118 |
119 | default:
120 | break;
121 | }
122 |
123 | self.buttonRadius = 5;
124 | [self setTextStyle];
125 |
126 | }
127 |
128 | - (void) setFlatStyleType:(ACPButtonType)style {
129 |
130 | [self setStyleType:style];
131 |
132 | _isFlat = YES;
133 | self.buttonRadius = 0;
134 | [self setTextStyle];
135 |
136 |
137 | }
138 |
139 | - (void) setFlatStyle:(UIColor*)normal andHighlightedColor:(UIColor*)highlighted {
140 |
141 | [self setStyle:normal andBottomColor:highlighted];
142 |
143 | _isFlat = YES;
144 | self.buttonRadius = 0;
145 | [self setTextStyle];
146 |
147 |
148 | }
149 |
150 |
151 | - (void) setStyle:(UIColor*)topColor andBottomColor:(UIColor*)bottomColor {
152 |
153 | _isFlat = NO;
154 | _topColor = topColor;
155 | _bottomColor = bottomColor;
156 | if(!_bottomColor)
157 | _bottomColor = topColor;
158 |
159 | [self setNeedsDisplay];
160 | [self setTextStyle];
161 |
162 | }
163 |
164 |
165 |
166 | - (void) setBorderStyle:(UIColor*)borderColor andInnerColor:(UIColor*)innerColor {
167 |
168 | _borderColor = borderColor;
169 | _inneColor = innerColor;
170 | [self setNeedsDisplay];
171 |
172 | }
173 |
174 |
175 | - (void) setCornerRadius:(NSInteger)value {
176 |
177 | self.buttonRadius = value;
178 |
179 | }
180 |
181 | - (void) setGlowHighlightedState:(BOOL)glowOption {
182 |
183 | self.glowActivated = glowOption;
184 | }
185 |
186 |
187 | - (void) turnOnGlow {
188 | self.titleLabel.layer.shadowColor = [UIColor whiteColor].CGColor;
189 | self.titleLabel.layer.shadowOffset = CGSizeMake(0.0, 0.0);
190 | self.titleLabel.layer.shadowRadius = 10.0;
191 | self.titleLabel.layer.shadowOpacity = 0.8;
192 | self.titleLabel.layer.masksToBounds = NO;
193 |
194 | }
195 |
196 | - (void) turnOffGlow {
197 | self.titleLabel.layer.shadowColor = nil;
198 | self.titleLabel.layer.shadowOffset = CGSizeMake(0.0, 0.0);
199 | self.titleLabel.layer.shadowRadius = 0;
200 | self.titleLabel.layer.shadowOpacity = 0;
201 | self.titleLabel.layer.masksToBounds = NO;
202 |
203 | }
204 | //----------------------------------------------------------------------------------------------------------------
205 | # pragma mark -
206 | # pragma mark Override the uibutton methods
207 | # pragma mark -
208 | //----------------------------------------------------------------------------------------------------------------
209 |
210 | - (void)setHighlighted:(BOOL)highlighted
211 | {
212 | [self setNeedsDisplay];
213 |
214 | if(_glowActivated){
215 |
216 | if(highlighted){
217 |
218 | [self turnOnGlow];
219 | }
220 | else {
221 |
222 | [self turnOffGlow];
223 | }
224 |
225 | }
226 | [super setHighlighted:highlighted];
227 | }
228 |
229 | # pragma mark -
230 | # pragma mark Set up the button with a image
231 | # pragma mark -
232 |
233 | - (void)setStyleWithImage:(NSString*)image highlightedImage:(NSString*)hImage disableImage:(NSString*)dImage andInsets:(UIEdgeInsets)insets {
234 |
235 | // Define resizable images
236 | UIImage *resizableButton = [[UIImage imageNamed:image] resizableImageWithCapInsets:insets];
237 | UIImage *resizableButtonHighlighted = [[UIImage imageNamed:hImage] resizableImageWithCapInsets:insets];
238 | UIImage *resizableButtonDisabled = [[UIImage imageNamed:dImage] resizableImageWithCapInsets:insets];
239 |
240 | // Set resizable background image
241 | [self setBackgroundImage:resizableButton forState:UIControlStateNormal];
242 | [self setBackgroundImage:resizableButtonHighlighted forState:UIControlStateHighlighted];
243 | [self setBackgroundImage:resizableButtonDisabled forState:UIControlStateDisabled];
244 |
245 | [self setTextStyle];
246 |
247 |
248 |
249 | _topColor=nil;
250 | _borderColor=nil;
251 | _inneColor = nil;
252 | _bottomColor = nil;
253 |
254 | }
255 |
256 |
257 | # pragma mark -
258 | # pragma mark Set up the button text
259 | # pragma mark -
260 |
261 |
262 | - (void) setTextStyle {
263 |
264 | /*--------------------------------------------------------------------------
265 | By default
266 | --------------------------------------------------------------------------*/
267 |
268 | [self.titleLabel setFont:kLabelFont];
269 |
270 | [self.titleLabel setShadowOffset:kShadowOffset];
271 |
272 | [self setTitleShadowColor:kColorShadowNormal forState:UIControlStateNormal];
273 | [self setTitleColor:kColorFontNormal forState:UIControlStateNormal];
274 |
275 | [self setTitleShadowColor:kColorShadowHighlighted forState:UIControlStateHighlighted];
276 | [self setTitleColor:kColorFontHighlighted forState:UIControlStateHighlighted];
277 |
278 | [self setTitleShadowColor:kColorShadowDisable forState:UIControlStateDisabled];
279 | [self setTitleColor:kColorFontDisable forState:UIControlStateDisabled];
280 |
281 | }
282 |
283 | /*--------------------------------------------------------------------------
284 | Define the color of the label for every state
285 | --------------------------------------------------------------------------*/
286 | - (void) setLabelTextColor:(UIColor*)nColor highlightedColor:(UIColor*)hColor disableColor:(UIColor*)dColor{
287 | [self setTitleColor:nColor forState:UIControlStateNormal];
288 | [self setTitleColor:hColor forState:UIControlStateHighlighted];
289 | [self setTitleColor:dColor forState:UIControlStateDisabled];
290 | }
291 |
292 | /*--------------------------------------------------------------------------
293 | Define the color of the text shadow
294 | --------------------------------------------------------------------------*/
295 | - (void) setLabelTextShadow:(CGSize)shadowOffSet normalColor:(UIColor*)nColor highlightedColor:(UIColor*)hColor disableColor:(UIColor*)dColor{
296 |
297 | [self.titleLabel setShadowOffset:shadowOffSet];
298 | [self setTitleShadowColor:nColor forState:UIControlStateNormal];
299 | [self setTitleShadowColor:hColor forState:UIControlStateHighlighted];
300 | [self setTitleShadowColor:dColor forState:UIControlStateDisabled];
301 |
302 | }
303 |
304 |
305 | - (void) setLabelFont:(UIFont*)font {
306 |
307 | /*--------------------------------------------------------------------------
308 | If you want to change the font by default, change the macro on top of
309 | this class.
310 | --------------------------------------------------------------------------*/
311 |
312 | [self.titleLabel setFont:font];
313 |
314 | }
315 |
316 |
317 |
318 | # pragma mark -
319 | # pragma mark Draw rect overrides
320 | # pragma mark -
321 |
322 | - (void)drawRect:(CGRect)rect
323 | {
324 | // General Declarations
325 | CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
326 | CGContextRef context = UIGraphicsGetCurrentContext();
327 | UIBezierPath *roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, self.frame.size.width, self.frame.size.height) cornerRadius: self.buttonRadius];
328 | // Use the bezier as a clipping path
329 | [roundedRectanglePath addClip];
330 |
331 | if(!_isFlat){
332 |
333 | if (_topColor){
334 |
335 |
336 | // Color Declarations
337 |
338 | UIColor *topColor = _topColor;
339 | UIColor *bottomColor =_bottomColor;
340 |
341 |
342 | // Gradient Declarations
343 |
344 |
345 |
346 | NSArray *gradientColors = (@[
347 | (id)_topColor.CGColor,
348 | (id)_bottomColor.CGColor
349 | ]);
350 |
351 | CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)(gradientColors), NULL);
352 |
353 | NSArray *highlightedGradientColors = (@[
354 | (id)bottomColor.CGColor,
355 | (id)topColor.CGColor
356 | ]);
357 |
358 | CGGradientRef highlightedGradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)(highlightedGradientColors), NULL);
359 |
360 |
361 | // Draw rounded rectangle bezier path
362 |
363 |
364 | // Use one of the two gradients depending on the state of the button
365 | CGGradientRef background = self.highlighted? highlightedGradient : gradient;
366 |
367 | // Draw gradient within the path
368 | CGContextDrawLinearGradient(context, background, CGPointMake(140, 0), CGPointMake(140, self.frame.size.height), 0);
369 |
370 | //Release the gradient
371 | CGGradientRelease(gradient);
372 | CGGradientRelease(highlightedGradient);
373 |
374 | }
375 |
376 | } else
377 | {
378 |
379 | //Solid colors
380 | CGColorRef colorRef = self.highlighted? _topColor.CGColor : _bottomColor.CGColor;
381 |
382 | CGContextSetFillColor(context, CGColorGetComponents(colorRef));
383 | CGContextFillRect(context, rect);
384 |
385 |
386 | }
387 | // Draw border
388 |
389 | if(_borderColor){
390 | [_borderColor setStroke];
391 | roundedRectanglePath.lineWidth = 2;
392 | [roundedRectanglePath stroke];
393 | }
394 | // Draw Inner Glow
395 | if(_inneColor){
396 | UIBezierPath *innerGlowRect = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(1.5, 1.5, self.frame.size.width-2, self.frame.size.height-2) cornerRadius: 0];
397 | [_inneColor setStroke];
398 | innerGlowRect.lineWidth = 1;
399 | [innerGlowRect stroke];
400 | }
401 | // Cleanup
402 | CGColorSpaceRelease(colorSpace);
403 |
404 | }
405 |
406 | @end
407 |
--------------------------------------------------------------------------------
/ACPButtons.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 7C95B24F1792B3A600376DFE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C95B24E1792B3A600376DFE /* UIKit.framework */; };
11 | 7C95B2511792B3A600376DFE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C95B2501792B3A600376DFE /* Foundation.framework */; };
12 | 7C95B2531792B3A600376DFE /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C95B2521792B3A600376DFE /* CoreGraphics.framework */; };
13 | 7C95B2591792B3A700376DFE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B2571792B3A700376DFE /* InfoPlist.strings */; };
14 | 7C95B25B1792B3A700376DFE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C95B25A1792B3A700376DFE /* main.m */; };
15 | 7C95B25F1792B3A700376DFE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C95B25E1792B3A700376DFE /* AppDelegate.m */; };
16 | 7C95B2611792B3A700376DFE /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B2601792B3A700376DFE /* Default.png */; };
17 | 7C95B2631792B3A700376DFE /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B2621792B3A700376DFE /* Default@2x.png */; };
18 | 7C95B2651792B3A700376DFE /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B2641792B3A700376DFE /* Default-568h@2x.png */; };
19 | 7C95B2681792B3A700376DFE /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B2661792B3A700376DFE /* MainStoryboard_iPhone.storyboard */; };
20 | 7C95B26B1792B3A700376DFE /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B2691792B3A700376DFE /* MainStoryboard_iPad.storyboard */; };
21 | 7C95B26E1792B3A700376DFE /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C95B26D1792B3A700376DFE /* ViewController.m */; };
22 | 7C95B2761792B3A700376DFE /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C95B2751792B3A700376DFE /* SenTestingKit.framework */; };
23 | 7C95B2771792B3A700376DFE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C95B24E1792B3A600376DFE /* UIKit.framework */; };
24 | 7C95B2781792B3A700376DFE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C95B2501792B3A600376DFE /* Foundation.framework */; };
25 | 7C95B2801792B3A700376DFE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B27E1792B3A700376DFE /* InfoPlist.strings */; };
26 | 7C95B2831792B3A700376DFE /* ACPButtonsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C95B2821792B3A700376DFE /* ACPButtonsTests.m */; };
27 | 7C95B29617930A3D00376DFE /* cont-bt_highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B29217930A3D00376DFE /* cont-bt_highlighted.png */; };
28 | 7C95B29717930A3D00376DFE /* cont-bt_highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B29317930A3D00376DFE /* cont-bt_highlighted@2x.png */; };
29 | 7C95B29817930A3D00376DFE /* cont-bt_normal.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B29417930A3D00376DFE /* cont-bt_normal.png */; };
30 | 7C95B29917930A3D00376DFE /* cont-bt_normal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B29517930A3D00376DFE /* cont-bt_normal@2x.png */; };
31 | 7C95B29C17930CF600376DFE /* alert-gray-button.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B29A17930CF600376DFE /* alert-gray-button.png */; };
32 | 7C95B29D17930CF600376DFE /* alert-gray-button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C95B29B17930CF600376DFE /* alert-gray-button@2x.png */; };
33 | 7C9BB2DC1795F034004CFB77 /* bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C9BB2DA1795F034004CFB77 /* bg.png */; };
34 | 7C9BB2DD1795F034004CFB77 /* bg@2X.png in Resources */ = {isa = PBXBuildFile; fileRef = 7C9BB2DB1795F034004CFB77 /* bg@2X.png */; };
35 | 7C9BB2E01795FBE7004CFB77 /* ACPButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C9BB2DF1795FBE7004CFB77 /* ACPButton.m */; };
36 | /* End PBXBuildFile section */
37 |
38 | /* Begin PBXContainerItemProxy section */
39 | 7C95B2791792B3A700376DFE /* PBXContainerItemProxy */ = {
40 | isa = PBXContainerItemProxy;
41 | containerPortal = 7C95B2431792B3A600376DFE /* Project object */;
42 | proxyType = 1;
43 | remoteGlobalIDString = 7C95B24A1792B3A600376DFE;
44 | remoteInfo = ACPButtons;
45 | };
46 | /* End PBXContainerItemProxy section */
47 |
48 | /* Begin PBXFileReference section */
49 | 7C95B24B1792B3A600376DFE /* ACPButtons.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ACPButtons.app; sourceTree = BUILT_PRODUCTS_DIR; };
50 | 7C95B24E1792B3A600376DFE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
51 | 7C95B2501792B3A600376DFE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
52 | 7C95B2521792B3A600376DFE /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
53 | 7C95B2561792B3A700376DFE /* ACPButtons-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ACPButtons-Info.plist"; sourceTree = ""; };
54 | 7C95B2581792B3A700376DFE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
55 | 7C95B25A1792B3A700376DFE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
56 | 7C95B25C1792B3A700376DFE /* ACPButtons-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ACPButtons-Prefix.pch"; sourceTree = ""; };
57 | 7C95B25D1792B3A700376DFE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
58 | 7C95B25E1792B3A700376DFE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
59 | 7C95B2601792B3A700376DFE /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; };
60 | 7C95B2621792B3A700376DFE /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; };
61 | 7C95B2641792B3A700376DFE /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; };
62 | 7C95B2671792B3A700376DFE /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = ""; };
63 | 7C95B26A1792B3A700376DFE /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; };
64 | 7C95B26C1792B3A700376DFE /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
65 | 7C95B26D1792B3A700376DFE /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
66 | 7C95B2741792B3A700376DFE /* ACPButtonsTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ACPButtonsTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
67 | 7C95B2751792B3A700376DFE /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
68 | 7C95B27D1792B3A700376DFE /* ACPButtonsTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ACPButtonsTests-Info.plist"; sourceTree = ""; };
69 | 7C95B27F1792B3A700376DFE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
70 | 7C95B2811792B3A700376DFE /* ACPButtonsTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ACPButtonsTests.h; sourceTree = ""; };
71 | 7C95B2821792B3A700376DFE /* ACPButtonsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ACPButtonsTests.m; sourceTree = ""; };
72 | 7C95B29217930A3D00376DFE /* cont-bt_highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cont-bt_highlighted.png"; sourceTree = ""; };
73 | 7C95B29317930A3D00376DFE /* cont-bt_highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cont-bt_highlighted@2x.png"; sourceTree = ""; };
74 | 7C95B29417930A3D00376DFE /* cont-bt_normal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cont-bt_normal.png"; sourceTree = ""; };
75 | 7C95B29517930A3D00376DFE /* cont-bt_normal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cont-bt_normal@2x.png"; sourceTree = ""; };
76 | 7C95B29A17930CF600376DFE /* alert-gray-button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "alert-gray-button.png"; sourceTree = ""; };
77 | 7C95B29B17930CF600376DFE /* alert-gray-button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "alert-gray-button@2x.png"; sourceTree = ""; };
78 | 7C9BB2DA1795F034004CFB77 /* bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bg.png; sourceTree = ""; };
79 | 7C9BB2DB1795F034004CFB77 /* bg@2X.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bg@2X.png"; sourceTree = ""; };
80 | 7C9BB2DE1795FBE7004CFB77 /* ACPButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ACPButton.h; sourceTree = SOURCE_ROOT; };
81 | 7C9BB2DF1795FBE7004CFB77 /* ACPButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ACPButton.m; sourceTree = SOURCE_ROOT; };
82 | /* End PBXFileReference section */
83 |
84 | /* Begin PBXFrameworksBuildPhase section */
85 | 7C95B2481792B3A600376DFE /* Frameworks */ = {
86 | isa = PBXFrameworksBuildPhase;
87 | buildActionMask = 2147483647;
88 | files = (
89 | 7C95B24F1792B3A600376DFE /* UIKit.framework in Frameworks */,
90 | 7C95B2511792B3A600376DFE /* Foundation.framework in Frameworks */,
91 | 7C95B2531792B3A600376DFE /* CoreGraphics.framework in Frameworks */,
92 | );
93 | runOnlyForDeploymentPostprocessing = 0;
94 | };
95 | 7C95B2701792B3A700376DFE /* Frameworks */ = {
96 | isa = PBXFrameworksBuildPhase;
97 | buildActionMask = 2147483647;
98 | files = (
99 | 7C95B2761792B3A700376DFE /* SenTestingKit.framework in Frameworks */,
100 | 7C95B2771792B3A700376DFE /* UIKit.framework in Frameworks */,
101 | 7C95B2781792B3A700376DFE /* Foundation.framework in Frameworks */,
102 | );
103 | runOnlyForDeploymentPostprocessing = 0;
104 | };
105 | /* End PBXFrameworksBuildPhase section */
106 |
107 | /* Begin PBXGroup section */
108 | 7C95B2421792B3A600376DFE = {
109 | isa = PBXGroup;
110 | children = (
111 | 7C95B2541792B3A600376DFE /* ACPButtons */,
112 | 7C95B27B1792B3A700376DFE /* ACPButtonsTests */,
113 | 7C95B24D1792B3A600376DFE /* Frameworks */,
114 | 7C95B24C1792B3A600376DFE /* Products */,
115 | );
116 | sourceTree = "";
117 | };
118 | 7C95B24C1792B3A600376DFE /* Products */ = {
119 | isa = PBXGroup;
120 | children = (
121 | 7C95B24B1792B3A600376DFE /* ACPButtons.app */,
122 | 7C95B2741792B3A700376DFE /* ACPButtonsTests.octest */,
123 | );
124 | name = Products;
125 | sourceTree = "";
126 | };
127 | 7C95B24D1792B3A600376DFE /* Frameworks */ = {
128 | isa = PBXGroup;
129 | children = (
130 | 7C95B24E1792B3A600376DFE /* UIKit.framework */,
131 | 7C95B2501792B3A600376DFE /* Foundation.framework */,
132 | 7C95B2521792B3A600376DFE /* CoreGraphics.framework */,
133 | 7C95B2751792B3A700376DFE /* SenTestingKit.framework */,
134 | );
135 | name = Frameworks;
136 | sourceTree = "";
137 | };
138 | 7C95B2541792B3A600376DFE /* ACPButtons */ = {
139 | isa = PBXGroup;
140 | children = (
141 | 7C9BB2DE1795FBE7004CFB77 /* ACPButton.h */,
142 | 7C9BB2DF1795FBE7004CFB77 /* ACPButton.m */,
143 | 7C95B29117930A3D00376DFE /* Images */,
144 | 7C95B25D1792B3A700376DFE /* AppDelegate.h */,
145 | 7C95B25E1792B3A700376DFE /* AppDelegate.m */,
146 | 7C95B2661792B3A700376DFE /* MainStoryboard_iPhone.storyboard */,
147 | 7C95B2691792B3A700376DFE /* MainStoryboard_iPad.storyboard */,
148 | 7C95B26C1792B3A700376DFE /* ViewController.h */,
149 | 7C95B26D1792B3A700376DFE /* ViewController.m */,
150 | 7C95B2551792B3A700376DFE /* Supporting Files */,
151 | );
152 | path = ACPButtons;
153 | sourceTree = "";
154 | };
155 | 7C95B2551792B3A700376DFE /* Supporting Files */ = {
156 | isa = PBXGroup;
157 | children = (
158 | 7C95B2561792B3A700376DFE /* ACPButtons-Info.plist */,
159 | 7C95B2571792B3A700376DFE /* InfoPlist.strings */,
160 | 7C95B25A1792B3A700376DFE /* main.m */,
161 | 7C95B25C1792B3A700376DFE /* ACPButtons-Prefix.pch */,
162 | 7C95B2601792B3A700376DFE /* Default.png */,
163 | 7C95B2621792B3A700376DFE /* Default@2x.png */,
164 | 7C95B2641792B3A700376DFE /* Default-568h@2x.png */,
165 | );
166 | name = "Supporting Files";
167 | sourceTree = "";
168 | };
169 | 7C95B27B1792B3A700376DFE /* ACPButtonsTests */ = {
170 | isa = PBXGroup;
171 | children = (
172 | 7C95B2811792B3A700376DFE /* ACPButtonsTests.h */,
173 | 7C95B2821792B3A700376DFE /* ACPButtonsTests.m */,
174 | 7C95B27C1792B3A700376DFE /* Supporting Files */,
175 | );
176 | path = ACPButtonsTests;
177 | sourceTree = "";
178 | };
179 | 7C95B27C1792B3A700376DFE /* Supporting Files */ = {
180 | isa = PBXGroup;
181 | children = (
182 | 7C95B27D1792B3A700376DFE /* ACPButtonsTests-Info.plist */,
183 | 7C95B27E1792B3A700376DFE /* InfoPlist.strings */,
184 | );
185 | name = "Supporting Files";
186 | sourceTree = "";
187 | };
188 | 7C95B29117930A3D00376DFE /* Images */ = {
189 | isa = PBXGroup;
190 | children = (
191 | 7C9BB2DA1795F034004CFB77 /* bg.png */,
192 | 7C9BB2DB1795F034004CFB77 /* bg@2X.png */,
193 | 7C95B29A17930CF600376DFE /* alert-gray-button.png */,
194 | 7C95B29B17930CF600376DFE /* alert-gray-button@2x.png */,
195 | 7C95B29217930A3D00376DFE /* cont-bt_highlighted.png */,
196 | 7C95B29317930A3D00376DFE /* cont-bt_highlighted@2x.png */,
197 | 7C95B29417930A3D00376DFE /* cont-bt_normal.png */,
198 | 7C95B29517930A3D00376DFE /* cont-bt_normal@2x.png */,
199 | );
200 | path = Images;
201 | sourceTree = "";
202 | };
203 | /* End PBXGroup section */
204 |
205 | /* Begin PBXNativeTarget section */
206 | 7C95B24A1792B3A600376DFE /* ACPButtons */ = {
207 | isa = PBXNativeTarget;
208 | buildConfigurationList = 7C95B2861792B3A700376DFE /* Build configuration list for PBXNativeTarget "ACPButtons" */;
209 | buildPhases = (
210 | 7C95B2471792B3A600376DFE /* Sources */,
211 | 7C95B2481792B3A600376DFE /* Frameworks */,
212 | 7C95B2491792B3A600376DFE /* Resources */,
213 | );
214 | buildRules = (
215 | );
216 | dependencies = (
217 | );
218 | name = ACPButtons;
219 | productName = ACPButtons;
220 | productReference = 7C95B24B1792B3A600376DFE /* ACPButtons.app */;
221 | productType = "com.apple.product-type.application";
222 | };
223 | 7C95B2731792B3A700376DFE /* ACPButtonsTests */ = {
224 | isa = PBXNativeTarget;
225 | buildConfigurationList = 7C95B2891792B3A700376DFE /* Build configuration list for PBXNativeTarget "ACPButtonsTests" */;
226 | buildPhases = (
227 | 7C95B26F1792B3A700376DFE /* Sources */,
228 | 7C95B2701792B3A700376DFE /* Frameworks */,
229 | 7C95B2711792B3A700376DFE /* Resources */,
230 | 7C95B2721792B3A700376DFE /* ShellScript */,
231 | );
232 | buildRules = (
233 | );
234 | dependencies = (
235 | 7C95B27A1792B3A700376DFE /* PBXTargetDependency */,
236 | );
237 | name = ACPButtonsTests;
238 | productName = ACPButtonsTests;
239 | productReference = 7C95B2741792B3A700376DFE /* ACPButtonsTests.octest */;
240 | productType = "com.apple.product-type.bundle";
241 | };
242 | /* End PBXNativeTarget section */
243 |
244 | /* Begin PBXProject section */
245 | 7C95B2431792B3A600376DFE /* Project object */ = {
246 | isa = PBXProject;
247 | attributes = {
248 | LastUpgradeCheck = 0460;
249 | ORGANIZATIONNAME = ACP;
250 | };
251 | buildConfigurationList = 7C95B2461792B3A600376DFE /* Build configuration list for PBXProject "ACPButtons" */;
252 | compatibilityVersion = "Xcode 3.2";
253 | developmentRegion = English;
254 | hasScannedForEncodings = 0;
255 | knownRegions = (
256 | en,
257 | );
258 | mainGroup = 7C95B2421792B3A600376DFE;
259 | productRefGroup = 7C95B24C1792B3A600376DFE /* Products */;
260 | projectDirPath = "";
261 | projectRoot = "";
262 | targets = (
263 | 7C95B24A1792B3A600376DFE /* ACPButtons */,
264 | 7C95B2731792B3A700376DFE /* ACPButtonsTests */,
265 | );
266 | };
267 | /* End PBXProject section */
268 |
269 | /* Begin PBXResourcesBuildPhase section */
270 | 7C95B2491792B3A600376DFE /* Resources */ = {
271 | isa = PBXResourcesBuildPhase;
272 | buildActionMask = 2147483647;
273 | files = (
274 | 7C95B2591792B3A700376DFE /* InfoPlist.strings in Resources */,
275 | 7C95B2611792B3A700376DFE /* Default.png in Resources */,
276 | 7C95B2631792B3A700376DFE /* Default@2x.png in Resources */,
277 | 7C95B2651792B3A700376DFE /* Default-568h@2x.png in Resources */,
278 | 7C95B2681792B3A700376DFE /* MainStoryboard_iPhone.storyboard in Resources */,
279 | 7C95B26B1792B3A700376DFE /* MainStoryboard_iPad.storyboard in Resources */,
280 | 7C95B29617930A3D00376DFE /* cont-bt_highlighted.png in Resources */,
281 | 7C95B29717930A3D00376DFE /* cont-bt_highlighted@2x.png in Resources */,
282 | 7C95B29817930A3D00376DFE /* cont-bt_normal.png in Resources */,
283 | 7C95B29917930A3D00376DFE /* cont-bt_normal@2x.png in Resources */,
284 | 7C95B29C17930CF600376DFE /* alert-gray-button.png in Resources */,
285 | 7C95B29D17930CF600376DFE /* alert-gray-button@2x.png in Resources */,
286 | 7C9BB2DC1795F034004CFB77 /* bg.png in Resources */,
287 | 7C9BB2DD1795F034004CFB77 /* bg@2X.png in Resources */,
288 | );
289 | runOnlyForDeploymentPostprocessing = 0;
290 | };
291 | 7C95B2711792B3A700376DFE /* Resources */ = {
292 | isa = PBXResourcesBuildPhase;
293 | buildActionMask = 2147483647;
294 | files = (
295 | 7C95B2801792B3A700376DFE /* InfoPlist.strings in Resources */,
296 | );
297 | runOnlyForDeploymentPostprocessing = 0;
298 | };
299 | /* End PBXResourcesBuildPhase section */
300 |
301 | /* Begin PBXShellScriptBuildPhase section */
302 | 7C95B2721792B3A700376DFE /* ShellScript */ = {
303 | isa = PBXShellScriptBuildPhase;
304 | buildActionMask = 2147483647;
305 | files = (
306 | );
307 | inputPaths = (
308 | );
309 | outputPaths = (
310 | );
311 | runOnlyForDeploymentPostprocessing = 0;
312 | shellPath = /bin/sh;
313 | shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
314 | };
315 | /* End PBXShellScriptBuildPhase section */
316 |
317 | /* Begin PBXSourcesBuildPhase section */
318 | 7C95B2471792B3A600376DFE /* Sources */ = {
319 | isa = PBXSourcesBuildPhase;
320 | buildActionMask = 2147483647;
321 | files = (
322 | 7C95B25B1792B3A700376DFE /* main.m in Sources */,
323 | 7C95B25F1792B3A700376DFE /* AppDelegate.m in Sources */,
324 | 7C95B26E1792B3A700376DFE /* ViewController.m in Sources */,
325 | 7C9BB2E01795FBE7004CFB77 /* ACPButton.m in Sources */,
326 | );
327 | runOnlyForDeploymentPostprocessing = 0;
328 | };
329 | 7C95B26F1792B3A700376DFE /* Sources */ = {
330 | isa = PBXSourcesBuildPhase;
331 | buildActionMask = 2147483647;
332 | files = (
333 | 7C95B2831792B3A700376DFE /* ACPButtonsTests.m in Sources */,
334 | );
335 | runOnlyForDeploymentPostprocessing = 0;
336 | };
337 | /* End PBXSourcesBuildPhase section */
338 |
339 | /* Begin PBXTargetDependency section */
340 | 7C95B27A1792B3A700376DFE /* PBXTargetDependency */ = {
341 | isa = PBXTargetDependency;
342 | target = 7C95B24A1792B3A600376DFE /* ACPButtons */;
343 | targetProxy = 7C95B2791792B3A700376DFE /* PBXContainerItemProxy */;
344 | };
345 | /* End PBXTargetDependency section */
346 |
347 | /* Begin PBXVariantGroup section */
348 | 7C95B2571792B3A700376DFE /* InfoPlist.strings */ = {
349 | isa = PBXVariantGroup;
350 | children = (
351 | 7C95B2581792B3A700376DFE /* en */,
352 | );
353 | name = InfoPlist.strings;
354 | sourceTree = "";
355 | };
356 | 7C95B2661792B3A700376DFE /* MainStoryboard_iPhone.storyboard */ = {
357 | isa = PBXVariantGroup;
358 | children = (
359 | 7C95B2671792B3A700376DFE /* en */,
360 | );
361 | name = MainStoryboard_iPhone.storyboard;
362 | sourceTree = "";
363 | };
364 | 7C95B2691792B3A700376DFE /* MainStoryboard_iPad.storyboard */ = {
365 | isa = PBXVariantGroup;
366 | children = (
367 | 7C95B26A1792B3A700376DFE /* en */,
368 | );
369 | name = MainStoryboard_iPad.storyboard;
370 | sourceTree = "";
371 | };
372 | 7C95B27E1792B3A700376DFE /* InfoPlist.strings */ = {
373 | isa = PBXVariantGroup;
374 | children = (
375 | 7C95B27F1792B3A700376DFE /* en */,
376 | );
377 | name = InfoPlist.strings;
378 | sourceTree = "";
379 | };
380 | /* End PBXVariantGroup section */
381 |
382 | /* Begin XCBuildConfiguration section */
383 | 7C95B2841792B3A700376DFE /* Debug */ = {
384 | isa = XCBuildConfiguration;
385 | buildSettings = {
386 | ALWAYS_SEARCH_USER_PATHS = NO;
387 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
388 | CLANG_CXX_LIBRARY = "libc++";
389 | CLANG_ENABLE_OBJC_ARC = YES;
390 | CLANG_WARN_CONSTANT_CONVERSION = YES;
391 | CLANG_WARN_EMPTY_BODY = YES;
392 | CLANG_WARN_ENUM_CONVERSION = YES;
393 | CLANG_WARN_INT_CONVERSION = YES;
394 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
395 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
396 | COPY_PHASE_STRIP = NO;
397 | GCC_C_LANGUAGE_STANDARD = gnu99;
398 | GCC_DYNAMIC_NO_PIC = NO;
399 | GCC_OPTIMIZATION_LEVEL = 0;
400 | GCC_PREPROCESSOR_DEFINITIONS = (
401 | "DEBUG=1",
402 | "$(inherited)",
403 | );
404 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
405 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
406 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
407 | GCC_WARN_UNUSED_VARIABLE = YES;
408 | IPHONEOS_DEPLOYMENT_TARGET = 6.1;
409 | ONLY_ACTIVE_ARCH = YES;
410 | SDKROOT = iphoneos;
411 | TARGETED_DEVICE_FAMILY = "1,2";
412 | };
413 | name = Debug;
414 | };
415 | 7C95B2851792B3A700376DFE /* Release */ = {
416 | isa = XCBuildConfiguration;
417 | buildSettings = {
418 | ALWAYS_SEARCH_USER_PATHS = NO;
419 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
420 | CLANG_CXX_LIBRARY = "libc++";
421 | CLANG_ENABLE_OBJC_ARC = YES;
422 | CLANG_WARN_CONSTANT_CONVERSION = YES;
423 | CLANG_WARN_EMPTY_BODY = YES;
424 | CLANG_WARN_ENUM_CONVERSION = YES;
425 | CLANG_WARN_INT_CONVERSION = YES;
426 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
427 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
428 | COPY_PHASE_STRIP = YES;
429 | GCC_C_LANGUAGE_STANDARD = gnu99;
430 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
431 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
432 | GCC_WARN_UNUSED_VARIABLE = YES;
433 | IPHONEOS_DEPLOYMENT_TARGET = 6.1;
434 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
435 | SDKROOT = iphoneos;
436 | TARGETED_DEVICE_FAMILY = "1,2";
437 | VALIDATE_PRODUCT = YES;
438 | };
439 | name = Release;
440 | };
441 | 7C95B2871792B3A700376DFE /* Debug */ = {
442 | isa = XCBuildConfiguration;
443 | buildSettings = {
444 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
445 | GCC_PREFIX_HEADER = "ACPButtons/ACPButtons-Prefix.pch";
446 | INFOPLIST_FILE = "ACPButtons/ACPButtons-Info.plist";
447 | PRODUCT_NAME = "$(TARGET_NAME)";
448 | WRAPPER_EXTENSION = app;
449 | };
450 | name = Debug;
451 | };
452 | 7C95B2881792B3A700376DFE /* Release */ = {
453 | isa = XCBuildConfiguration;
454 | buildSettings = {
455 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
456 | GCC_PREFIX_HEADER = "ACPButtons/ACPButtons-Prefix.pch";
457 | INFOPLIST_FILE = "ACPButtons/ACPButtons-Info.plist";
458 | PRODUCT_NAME = "$(TARGET_NAME)";
459 | WRAPPER_EXTENSION = app;
460 | };
461 | name = Release;
462 | };
463 | 7C95B28A1792B3A700376DFE /* Debug */ = {
464 | isa = XCBuildConfiguration;
465 | buildSettings = {
466 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/ACPButtons.app/ACPButtons";
467 | FRAMEWORK_SEARCH_PATHS = (
468 | "\"$(SDKROOT)/Developer/Library/Frameworks\"",
469 | "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
470 | );
471 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
472 | GCC_PREFIX_HEADER = "ACPButtons/ACPButtons-Prefix.pch";
473 | INFOPLIST_FILE = "ACPButtonsTests/ACPButtonsTests-Info.plist";
474 | PRODUCT_NAME = "$(TARGET_NAME)";
475 | TEST_HOST = "$(BUNDLE_LOADER)";
476 | WRAPPER_EXTENSION = octest;
477 | };
478 | name = Debug;
479 | };
480 | 7C95B28B1792B3A700376DFE /* Release */ = {
481 | isa = XCBuildConfiguration;
482 | buildSettings = {
483 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/ACPButtons.app/ACPButtons";
484 | FRAMEWORK_SEARCH_PATHS = (
485 | "\"$(SDKROOT)/Developer/Library/Frameworks\"",
486 | "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
487 | );
488 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
489 | GCC_PREFIX_HEADER = "ACPButtons/ACPButtons-Prefix.pch";
490 | INFOPLIST_FILE = "ACPButtonsTests/ACPButtonsTests-Info.plist";
491 | PRODUCT_NAME = "$(TARGET_NAME)";
492 | TEST_HOST = "$(BUNDLE_LOADER)";
493 | WRAPPER_EXTENSION = octest;
494 | };
495 | name = Release;
496 | };
497 | /* End XCBuildConfiguration section */
498 |
499 | /* Begin XCConfigurationList section */
500 | 7C95B2461792B3A600376DFE /* Build configuration list for PBXProject "ACPButtons" */ = {
501 | isa = XCConfigurationList;
502 | buildConfigurations = (
503 | 7C95B2841792B3A700376DFE /* Debug */,
504 | 7C95B2851792B3A700376DFE /* Release */,
505 | );
506 | defaultConfigurationIsVisible = 0;
507 | defaultConfigurationName = Release;
508 | };
509 | 7C95B2861792B3A700376DFE /* Build configuration list for PBXNativeTarget "ACPButtons" */ = {
510 | isa = XCConfigurationList;
511 | buildConfigurations = (
512 | 7C95B2871792B3A700376DFE /* Debug */,
513 | 7C95B2881792B3A700376DFE /* Release */,
514 | );
515 | defaultConfigurationIsVisible = 0;
516 | defaultConfigurationName = Release;
517 | };
518 | 7C95B2891792B3A700376DFE /* Build configuration list for PBXNativeTarget "ACPButtonsTests" */ = {
519 | isa = XCConfigurationList;
520 | buildConfigurations = (
521 | 7C95B28A1792B3A700376DFE /* Debug */,
522 | 7C95B28B1792B3A700376DFE /* Release */,
523 | );
524 | defaultConfigurationIsVisible = 0;
525 | defaultConfigurationName = Release;
526 | };
527 | /* End XCConfigurationList section */
528 | };
529 | rootObject = 7C95B2431792B3A600376DFE /* Project object */;
530 | }
531 |
--------------------------------------------------------------------------------