├── CorePickerView
├── pic
│ ├── 1.jpg
│ ├── 2.png
│ └── 3.jpg
├── ViewController.h
├── CorePickerView
│ ├── DatePicker
│ │ ├── Category
│ │ │ ├── NSString+PickerFormat.m
│ │ │ ├── NSString+PickerFormat.h
│ │ │ ├── NSDate+PickerFormat.h
│ │ │ └── NSDate+PickerFormat.m
│ │ └── View
│ │ │ ├── CoreDatePicker.h
│ │ │ └── CoreDatePicker.m
│ ├── Common
│ │ └── CorePickerViewDefine.h
│ ├── One
│ │ ├── Model
│ │ │ ├── SubObj
│ │ │ │ ├── Core1KeyValueObj.m
│ │ │ │ └── Core1KeyValueObj.h
│ │ │ ├── Core1PickerModel.h
│ │ │ └── Core1PickerModel.m
│ │ └── View
│ │ │ ├── Core1PickerView.h
│ │ │ └── Core1PickerView.m
│ ├── UITextField+PicerView.h
│ └── UITextField+PicerView.m
├── AppDelegate.h
├── main.m
├── Images.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── Info.plist
├── AppDelegate.m
├── ViewController.m
└── Base.lproj
│ ├── LaunchScreen.xib
│ └── Main.storyboard
├── CorePickerViewTests
├── pics
│ ├── 1.png
│ ├── 2.png
│ └── 3.png
├── Info.plist
└── CorePickerViewTests.m
├── CorePickerView.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcuserdata
│ │ └── Charlin.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── CorePickerView.xccheckout
├── xcuserdata
│ └── Charlin.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── CorePickerView.xcscheme
└── project.pbxproj
└── README.md
/CorePickerView/pic/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerView/pic/1.jpg
--------------------------------------------------------------------------------
/CorePickerView/pic/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerView/pic/2.png
--------------------------------------------------------------------------------
/CorePickerView/pic/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerView/pic/3.jpg
--------------------------------------------------------------------------------
/CorePickerViewTests/pics/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerViewTests/pics/1.png
--------------------------------------------------------------------------------
/CorePickerViewTests/pics/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerViewTests/pics/2.png
--------------------------------------------------------------------------------
/CorePickerViewTests/pics/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerViewTests/pics/3.png
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/project.xcworkspace/xcuserdata/Charlin.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CharlinFeng/CorePickerView/HEAD/CorePickerView.xcodeproj/project.xcworkspace/xcuserdata/Charlin.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/CorePickerView/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/DatePicker/Category/NSString+PickerFormat.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+PickerFormat.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "NSString+PickerFormat.h"
10 |
11 | @implementation NSString (PickerFormat)
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/DatePicker/Category/NSString+PickerFormat.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+PickerFormat.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSString (PickerFormat)
12 |
13 |
14 |
15 |
16 |
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/CorePickerView/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/CorePickerView/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/project.xcworkspace/xcuserdata/Charlin.xcuserdatad/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges
6 |
7 | SnapshotAutomaticallyBeforeSignificantChanges
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/Common/CorePickerViewDefine.h:
--------------------------------------------------------------------------------
1 | //
2 | // CorePickerViewDefine.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #ifndef CorePickerView_CorePickerViewDefine_h
10 | #define CorePickerView_CorePickerViewDefine_h
11 |
12 | #define rgba(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
13 |
14 | #define PickerViewBgColor rgba(249,249,249,.95f)
15 |
16 | #endif
17 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/DatePicker/Category/NSDate+PickerFormat.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSDate+PickerFormat.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSDate (PickerFormat)
12 |
13 |
14 | /*
15 | * 时间戳
16 | */
17 | @property (nonatomic,copy,readonly) NSString *timestamp;
18 |
19 |
20 |
21 | /*
22 | * NSDate->格式化字符串
23 | */
24 | -(NSString *)dateFormatter:(NSString *)formatter;
25 |
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/One/Model/SubObj/Core1KeyValueObj.m:
--------------------------------------------------------------------------------
1 | //
2 | // Core1KeyValueObj.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "Core1KeyValueObj.h"
10 |
11 | @implementation Core1KeyValueObj
12 |
13 |
14 |
15 |
16 | /*
17 | * 自行实例化
18 | */
19 | +(instancetype)obj:(NSUInteger)hostID content:(NSString *)content{
20 |
21 | Core1KeyValueObj *obj=[[self alloc] init];
22 |
23 | obj.hostID=hostID;
24 |
25 | obj.content=content;
26 |
27 | return obj;
28 | }
29 |
30 |
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/One/Model/SubObj/Core1KeyValueObj.h:
--------------------------------------------------------------------------------
1 | //
2 | // Core1KeyValueObj.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface Core1KeyValueObj : NSObject
12 |
13 |
14 | /*
15 | * 服务器ID:UI对应的值
16 | */
17 | @property (nonatomic,assign) NSUInteger hostID;
18 |
19 |
20 | /*
21 | * UI值(若此字段与服务器返回的字段不一致,请使用MJ的replaceKey方法解决)
22 | */
23 | @property (nonatomic,copy) NSString *content;
24 |
25 |
26 |
27 |
28 |
29 | /*
30 | * 自行实例化
31 | */
32 | +(instancetype)obj:(NSUInteger)hostID content:(NSString *)content;
33 |
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | CorePickerView.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | 8978837E1AC2D71800142C10
16 |
17 | primary
18 |
19 |
20 | 897883971AC2D71800142C10
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/CorePickerView/Images.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 | }
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/DatePicker/View/CoreDatePicker.h:
--------------------------------------------------------------------------------
1 | //
2 | // CoreDatePicker.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "NSDate+PickerFormat.h"
11 |
12 | @interface CoreDatePicker : UIDatePicker
13 |
14 |
15 | /*
16 | * 所属的textField
17 | */
18 | @property (nonatomic,weak) UITextField *textField;
19 |
20 |
21 |
22 | /*
23 | * UI视觉上的值:格式化的字符串
24 | */
25 | @property (nonatomic,copy) NSString *selectedUIValue;
26 |
27 |
28 | /*
29 | * UI视觉上的值对应的真实的值,常常用于服务器上传:时间戳
30 | */
31 | @property (nonatomic,copy) NSString *selectedRealValue;
32 |
33 |
34 |
35 |
36 |
37 | /*
38 | * 实例化
39 | */
40 | +(instancetype)datePicker:(NSString *)formatter;
41 |
42 |
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/CorePickerViewTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | HM.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/UITextField+PicerView.h:
--------------------------------------------------------------------------------
1 | //
2 | // UITextField+PicerView.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "Core1PickerView.h"
11 | #import "Core1KeyValueObj.h"
12 | #import "CoreDatePicker.h"
13 |
14 | @interface UITextField (PicerView)
15 |
16 |
17 |
18 | /*
19 | * 自定义的单列pickerView
20 | */
21 | @property (nonatomic,weak) Core1PickerView *input1pickerView;
22 |
23 |
24 |
25 | /*
26 | * 时间选取pickerView
27 | */
28 | @property (nonatomic,weak) CoreDatePicker *datePicker;
29 |
30 |
31 |
32 |
33 |
34 |
35 | /*
36 | * 添加一个inputView:单列
37 | */
38 | -(void)add1PickerView:(Core1PickerView *)input1PickerView;
39 |
40 |
41 |
42 |
43 | /*
44 | * 添加时间选择器控件
45 | */
46 | -(void)addDatePickerView:(CoreDatePicker *)datePicker;
47 |
48 |
49 |
50 |
51 |
52 |
53 | @end
54 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/One/View/Core1PickerView.h:
--------------------------------------------------------------------------------
1 | //
2 | // CoreCommonPickerView.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "Core1PickerModel.h"
11 |
12 | @interface Core1PickerView : UIPickerView
13 |
14 |
15 | /*
16 | * 所属的textField
17 | */
18 | @property (nonatomic,weak) UITextField *textField;
19 |
20 |
21 | /*
22 | * 数据模型
23 | */
24 | @property (nonatomic,strong) Core1PickerModel *pickerModel;
25 |
26 |
27 |
28 |
29 | /*
30 | * UI视觉上的值
31 | */
32 | @property (nonatomic,copy) NSString *selectedUIValue;
33 |
34 | /*
35 | * UI视觉上的值对应的真实的值,常常用于服务器上传。
36 | */
37 | @property (nonatomic,copy) NSString *selectedRealValue;
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 |
66 |
67 |
68 |
69 |
70 | +(instancetype)pickerView:(Core1PickerModel *)pickerModel;
71 |
72 |
73 | @end
74 |
--------------------------------------------------------------------------------
/CorePickerViewTests/CorePickerViewTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // CorePickerViewTests.m
3 | // CorePickerViewTests
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface CorePickerViewTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation CorePickerViewTests
17 |
18 | - (void)setUp {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown {
24 | // Put teardown code here. This method is called after the invocation of each test method in the class.
25 | [super tearDown];
26 | }
27 |
28 | - (void)testExample {
29 | // This is an example of a functional test case.
30 | XCTAssert(YES, @"Pass");
31 | }
32 |
33 | - (void)testPerformanceExample {
34 | // This is an example of a performance test case.
35 | [self measureBlock:^{
36 | // Put the code you want to measure the time of here.
37 | }];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/DatePicker/Category/NSDate+PickerFormat.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSDate+PickerFormat.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "NSDate+PickerFormat.h"
10 |
11 | @implementation NSDate (PickerFormat)
12 |
13 |
14 |
15 | /*
16 | * 时间戳
17 | */
18 | -(NSString *)timestamp{
19 |
20 | //计算时间戳:
21 | NSInteger timestamp=(NSInteger)[self timeIntervalSince1970];
22 |
23 | NSString *timestampString=[NSString stringWithFormat:@"%li",(long)timestamp];
24 |
25 | //返回
26 | return timestampString;
27 | }
28 |
29 |
30 |
31 | /*
32 | * NSDate->格式化字符串
33 | */
34 | -(NSString *)dateFormatter:(NSString *)formatter{
35 |
36 | //实例化时间格式化工具
37 | NSDateFormatter *formatterTool=[[NSDateFormatter alloc] init];
38 |
39 | //定义格式
40 | formatterTool.dateFormat=formatter;
41 |
42 | //时间转化为字符串
43 | NSString *dateString = [formatterTool stringFromDate:self];
44 |
45 | return dateString;
46 | }
47 |
48 |
49 |
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/One/Model/Core1PickerModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // CorePickerModel.h
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | typedef enum{
13 |
14 | /*
15 | * 普通值
16 | */
17 | Core1PickerModelTypeNorMal=0,
18 |
19 |
20 | /*
21 | * 键值对
22 | */
23 | Core1PickerModelTypeKeyValue,
24 |
25 |
26 |
27 |
28 | }Core1PickerModelType;
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | @interface Core1PickerModel : NSObject
38 |
39 |
40 | /*
41 | * 数据数组
42 | */
43 | @property (nonatomic,strong) NSArray *dataList;
44 |
45 |
46 |
47 | /*
48 | * 辅助提示数据
49 | */
50 | @property (nonatomic,copy) NSString *warnStr;
51 |
52 |
53 |
54 | /*
55 | * 类型
56 | */
57 | @property (nonatomic,assign) Core1PickerModelType type;
58 |
59 |
60 |
61 |
62 | /*
63 | * 将UIValue转为RealValue
64 | */
65 | -(id)selectedRealValueWithUIValue:(NSString *)selectedUIValue;
66 |
67 |
68 |
69 |
70 |
71 | /*
72 | * 快速创建
73 | */
74 | +(instancetype)pickerModel:(NSArray *)dataList;
75 |
76 |
77 | @end
78 |
--------------------------------------------------------------------------------
/CorePickerView/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | HM.$(PRODUCT_NAME:rfc1034identifier)
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 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/DatePicker/View/CoreDatePicker.m:
--------------------------------------------------------------------------------
1 | //
2 | // CoreDatePicker.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "CoreDatePicker.h"
10 | #import "CorePickerViewDefine.h"
11 |
12 |
13 |
14 | @interface CoreDatePicker ()
15 |
16 | @property (nonatomic,copy) NSString *formatter;
17 |
18 | @end
19 |
20 |
21 | @implementation CoreDatePicker
22 |
23 |
24 | /*
25 | * 实例化
26 | */
27 | +(instancetype)datePicker:(NSString *)formatter{
28 |
29 | CoreDatePicker *datePicker=[[self alloc] init];
30 |
31 | //背景色
32 | datePicker.backgroundColor=PickerViewBgColor;
33 |
34 | datePicker.formatter=formatter;
35 |
36 | //本地化
37 | datePicker.locale=[NSLocale localeWithLocaleIdentifier:@"zh_CH"];
38 |
39 | //事件
40 | [datePicker addTarget:datePicker action:@selector(selectedDatePickerRow:) forControlEvents:UIControlEventValueChanged];
41 |
42 | return datePicker;
43 | }
44 |
45 |
46 |
47 |
48 |
49 | -(void)selectedDatePickerRow:(CoreDatePicker *)datePicker{
50 |
51 | NSDate *date=datePicker.date;
52 |
53 | NSString *formatString=[date dateFormatter:_formatter];
54 |
55 | NSString *timeStamp=date.timestamp;
56 |
57 | //界面显示
58 | _textField.text=formatString;
59 |
60 | //UI值
61 | _selectedUIValue=formatString;
62 |
63 | //真实值
64 | _selectedRealValue=timeStamp;
65 | }
66 |
67 |
68 |
69 |
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/project.xcworkspace/xcshareddata/CorePickerView.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | 30EA4204-D6BB-4443-AAD1-217C612E830B
9 | IDESourceControlProjectName
10 | CorePickerView
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 386231E51047479418ECAC791ECDC956BE195986
14 | https://github.com/nsdictionary/CorePickerView.git
15 |
16 | IDESourceControlProjectPath
17 | CorePickerView.xcodeproj
18 | IDESourceControlProjectRelativeInstallPathDictionary
19 |
20 | 386231E51047479418ECAC791ECDC956BE195986
21 | ../..
22 |
23 | IDESourceControlProjectURL
24 | https://github.com/nsdictionary/CorePickerView.git
25 | IDESourceControlProjectVersion
26 | 111
27 | IDESourceControlProjectWCCIdentifier
28 | 386231E51047479418ECAC791ECDC956BE195986
29 | IDESourceControlProjectWCConfigurations
30 |
31 |
32 | IDESourceControlRepositoryExtensionIdentifierKey
33 | public.vcs.git
34 | IDESourceControlWCCIdentifierKey
35 | 386231E51047479418ECAC791ECDC956BE195986
36 | IDESourceControlWCCName
37 | CorePickerView
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/UITextField+PicerView.m:
--------------------------------------------------------------------------------
1 | //
2 | // UITextField+PicerView.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "UITextField+PicerView.h"
10 | #import
11 |
12 | #pragma mark - 运行时相关
13 | static char CorePickerViewKey;
14 | static char CoreDatePickerKey;
15 |
16 | @implementation UITextField (PicerView)
17 |
18 |
19 | /*
20 | * 添加一个inputView:单列
21 | */
22 | -(void)add1PickerView:(Core1PickerView *)input1PickerView{
23 |
24 | self.inputView=input1PickerView;
25 |
26 | //记录成员变量
27 | self.input1pickerView=input1PickerView;
28 |
29 | //记录
30 | input1PickerView.textField=self;
31 | }
32 |
33 |
34 |
35 | /*
36 | * 添加时间选择器控件
37 | */
38 | -(void)addDatePickerView:(CoreDatePicker *)datePicker{
39 |
40 | self.inputView=datePicker;
41 |
42 | //记录成员变量
43 | self.datePicker=datePicker;
44 |
45 | //记录
46 | datePicker.textField=self;
47 | }
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 | /*
60 | * 运行时模拟成员变量
61 | */
62 |
63 | -(void)setDatePicker:(CoreDatePicker *)datePicker{
64 | [self willChangeValueForKey:@"CoreDatePickerKey"];
65 | objc_setAssociatedObject(self, &CoreDatePickerKey,
66 | datePicker,
67 | OBJC_ASSOCIATION_ASSIGN);
68 | [self didChangeValueForKey:@"CoreDatePickerKey"];
69 | }
70 |
71 |
72 | -(CoreDatePicker *)datePicker{
73 | return objc_getAssociatedObject(self, &CoreDatePickerKey);
74 | }
75 |
76 |
77 |
78 |
79 |
80 |
81 | -(void)setInput1pickerView:(Core1PickerView *)input1pickerView{
82 | [self willChangeValueForKey:@"CorePickerViewKey"];
83 | objc_setAssociatedObject(self, &CorePickerViewKey,
84 | input1pickerView,
85 | OBJC_ASSOCIATION_ASSIGN);
86 | [self didChangeValueForKey:@"CorePickerViewKey"];
87 | }
88 |
89 |
90 |
91 | -(Core1PickerView *)input1pickerView{
92 | return objc_getAssociatedObject(self, &CorePickerViewKey);
93 | }
94 |
95 |
96 |
97 | @end
98 |
--------------------------------------------------------------------------------
/CorePickerView/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 |
11 | @interface AppDelegate ()
12 |
13 | @end
14 |
15 | @implementation AppDelegate
16 |
17 |
18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
19 | // Override point for customization after application launch.
20 | return YES;
21 | }
22 |
23 | - (void)applicationWillResignActive:(UIApplication *)application {
24 | // 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.
25 | // 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.
26 | }
27 |
28 | - (void)applicationDidEnterBackground:(UIApplication *)application {
29 | // 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.
30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
31 | }
32 |
33 | - (void)applicationWillEnterForeground:(UIApplication *)application {
34 | // 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.
35 | }
36 |
37 | - (void)applicationDidBecomeActive:(UIApplication *)application {
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 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
43 | }
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/One/Model/Core1PickerModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // CorePickerModel.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "Core1PickerModel.h"
10 | #import "Core1KeyValueObj.h"
11 |
12 |
13 | @implementation Core1PickerModel
14 |
15 |
16 | /*
17 | * 快速创建
18 | */
19 | +(instancetype)pickerModel:(NSArray *)dataList{
20 |
21 | Core1PickerModel *pickerModel=[[self alloc] init];
22 |
23 | pickerModel.dataList=dataList;
24 |
25 | return pickerModel;
26 | }
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | -(void)setDataList:(NSArray *)dataList{
36 |
37 | NSMutableArray *dataListM=[NSMutableArray arrayWithArray:dataList];
38 |
39 | //计算type值
40 | [self calType:dataList];
41 |
42 | //添加第一个提示对象
43 | id firstWarnObj=[self warnObjWithType];
44 |
45 | [dataListM insertObject:firstWarnObj atIndex:0];
46 |
47 | _dataList=[dataListM copy];
48 | }
49 |
50 |
51 | /*
52 | * 计算type值
53 | */
54 | -(void)calType:(NSArray *)dataList{
55 |
56 | //直接取出第一个对象
57 | id obj=dataList.firstObject;
58 |
59 | self.type = ([obj isKindOfClass:[Core1KeyValueObj class]])?Core1PickerModelTypeKeyValue:Core1PickerModelTypeNorMal;
60 | }
61 |
62 |
63 | /*
64 | * 根据type值返回第一个提示对象
65 | */
66 | -(id)warnObjWithType{
67 |
68 | if(Core1PickerModelTypeKeyValue == self.type) return [Core1KeyValueObj obj:0 content:self.warnStr];
69 |
70 | return self.warnStr;
71 | }
72 |
73 |
74 |
75 |
76 | -(NSString *)warnStr{
77 |
78 | if(_warnStr==nil){
79 |
80 | _warnStr=@"请选择";
81 | }
82 |
83 | return _warnStr;
84 | }
85 |
86 |
87 |
88 | /*
89 | * 将UIValue转为RealValue
90 | */
91 | -(id)selectedRealValueWithUIValue:(NSString *)selectedUIValue{
92 |
93 | //如果是普通模型
94 | if(Core1PickerModelTypeNorMal == _type) return selectedUIValue;
95 |
96 | for (Core1KeyValueObj *keyValueObj in _dataList) {
97 |
98 | if(![keyValueObj.content isEqualToString:selectedUIValue]) continue;
99 |
100 | return @(keyValueObj.hostID);
101 | }
102 |
103 | return @(0);
104 | }
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 | @end
120 |
--------------------------------------------------------------------------------
/CorePickerView/CorePickerView/One/View/Core1PickerView.m:
--------------------------------------------------------------------------------
1 | //
2 | // CoreCommonPickerView.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "Core1PickerView.h"
10 | #import "Core1KeyValueObj.h"
11 | #import "CorePickerViewDefine.h"
12 |
13 | @interface Core1PickerView ()
14 |
15 | @end
16 |
17 |
18 | @implementation Core1PickerView
19 |
20 | +(instancetype)pickerView:(Core1PickerModel *)pickerModel{
21 |
22 | Core1PickerView *pickerView=[[self alloc] initWithFrame:CGRectZero];
23 |
24 | pickerView.pickerModel=pickerModel;
25 |
26 | pickerView.backgroundColor=PickerViewBgColor;
27 |
28 | //设置数据源及代理
29 | pickerView.dataSource=pickerView;
30 | pickerView.delegate=pickerView;
31 |
32 |
33 | return pickerView;
34 | }
35 |
36 |
37 |
38 |
39 | /*
40 | * 代理方法区
41 | */
42 |
43 | /*
44 | * 共有多少列
45 | */
46 | -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
47 | return 1;
48 | }
49 |
50 | /*
51 | * 列内有多少行
52 | */
53 | -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
54 | return _pickerModel.dataList.count;
55 | }
56 |
57 |
58 | /*
59 | * 每列显示数据
60 | */
61 | -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
62 |
63 | //如果是键值模型
64 | if(Core1PickerModelTypeKeyValue == _pickerModel.type) {
65 |
66 | Core1KeyValueObj *keyValueObj=(Core1KeyValueObj *) _pickerModel.dataList[row];
67 |
68 | return keyValueObj.content;
69 | }
70 |
71 | return _pickerModel.dataList[row];
72 | }
73 |
74 |
75 |
76 |
77 |
78 | /*
79 | * 值改变
80 | */
81 | -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
82 |
83 | NSString *str=@"";
84 |
85 | //如果是键值模型
86 | if(Core1PickerModelTypeKeyValue == _pickerModel.type) {
87 |
88 | Core1KeyValueObj *keyValueObj=(Core1KeyValueObj *) _pickerModel.dataList[row];
89 |
90 | str=keyValueObj.content;
91 |
92 | if([keyValueObj.content isEqualToString:_pickerModel.warnStr]) str=@"";
93 |
94 | }else{
95 |
96 | str=_pickerModel.dataList[row];
97 |
98 | if([str isEqualToString:_pickerModel.warnStr]) str=@"";
99 | }
100 |
101 | //UI值
102 | _selectedUIValue=str;
103 |
104 | //UI对应值
105 | _selectedRealValue=[_pickerModel selectedRealValueWithUIValue:str];
106 |
107 | _textField.text=str;
108 | }
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 | @end
120 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | Charlin出框架的目标:简单、易用、实用、高度封装、绝对解耦!
3 |
4 | # CorePickerView
5 | 极简选取器,一安一取,简单方便!
6 |
7 | ####框架特性:
8 | >1.极大程度的封装了pickerView和datePickerView。
9 | >2.使用无需记录成员变量,直接安装,直接使用。
10 | >3.扩展了UITextField,使用方便,便于理解,textField安装,textField取值,逻辑十分合理。
11 | >4.考虑了数据来源服务器的情况,对键值对式的pickerView做了比较好的处理。
12 | >5.加入了选取首行提示,更加友好。
13 | >6.无需麻烦的代理,事件监听,无需手动设置textField的值,无需复杂计算键值对应取值,全部已经搞定。
14 | >7.根据业务需要,目前支持普通单列/键值单列/时间选取,后续会持续完善其他功能,并尽量大统一API。
15 |
16 |
17 |
18 |
19 |
20 | ####使用示例:
21 | #import "UITextField+PicerView.h"
22 |
23 | 普通单列
24 | 安装:
25 | //创建模型
26 | Core1PickerModel *pickerModel=[Core1PickerModel pickerModel:@[@"男",@"女"]];
27 |
28 | //创建pickerView
29 | Core1PickerView *sexPicerView=[Core1PickerView pickerView:pickerModel];
30 |
31 | [_tf1 add1PickerView:sexPicerView];
32 |
33 | 读取:
34 | NSString *uiValue=_tf1.input1pickerView.selectedUIValue;
35 | NSString *realValue=_tf1.input1pickerView.selectedRealValue;
36 |
37 | NSLog(@"tf1:uiValue=%@,realValue=%@",uiValue,realValue);
38 |
39 |
40 |
41 | 键值单列:
42 | 安装:
43 | Core1KeyValueObj *obj1= [Core1KeyValueObj obj:1 content:@"大众"];
44 | Core1KeyValueObj *obj2= [Core1KeyValueObj obj:2 content:@"宝马"];
45 | Core1KeyValueObj *obj3= [Core1KeyValueObj obj:3 content:@"奔驰"];
46 | Core1KeyValueObj *obj4= [Core1KeyValueObj obj:4 content:@"福特"];
47 |
48 | //建立模型
49 | Core1PickerModel *pickerModel=[Core1PickerModel pickerModel:@[obj1,obj2,obj3,obj4]];
50 |
51 | //建立pickerView
52 | Core1PickerView *pickerView=[Core1PickerView pickerView:pickerModel];
53 |
54 | //添加
55 | [_tf2 add1PickerView:pickerView];
56 |
57 | 读取:
58 | NSString *uiValue=_tf2.input1pickerView.selectedUIValue;
59 | NSString *realValue=_tf2.input1pickerView.selectedRealValue;
60 |
61 | NSLog(@"tf2:uiValue=%@,realValue=%@",uiValue,realValue);
62 |
63 |
64 |
65 |
66 | 日期选取:
67 | 安装:
68 | //建立datePicker
69 | CoreDatePicker *datePicker=[CoreDatePicker datePicker:@"yyyy-MM-dd HH:mm:ss"];
70 |
71 | [_tf3 addDatePickerView:datePicker];
72 |
73 |
74 | 读取:
75 | NSString *uiValue=_tf3.datePicker.selectedUIValue;
76 | NSString *timeStamp=_tf3.datePicker.selectedRealValue;
77 |
78 | NSLog(@"tf3:uiValue=%@,realValue=%@",uiValue,timeStamp);
79 |
80 |
81 | ####效果图:
82 | 
83 | 
84 | 
85 |
86 | -----
87 | CorePickerView 极简选取器,一安一取,简单方便!
88 | -----
89 |
90 |
91 |
92 | #### 版权说明 RIGHTS
93 | 作品说明:本框架由iOS开发攻城狮Charlin制作。
94 | 作品时间: 2013.03.11 11:07
95 |
96 |
97 | #### 关于Chariln INTRODUCE
98 | 作者简介:Charlin-四川成都华西都市报旗下华西都市网络有限公司技术部iOS工程师!
99 |
100 |
101 | #### 联系方式 CONTACT
102 | Q Q:1761904945(请注明缘由)
103 | Mail:1761904945@qq.com
104 |
105 |
--------------------------------------------------------------------------------
/CorePickerView/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // CorePickerView
4 | //
5 | // Created by 冯成林 on 15/3/25.
6 | // Copyright (c) 2015年 冯成林. All rights reserved.
7 | //
8 |
9 | #import "ViewController.h"
10 | #import "UITextField+PicerView.h"
11 |
12 | @interface ViewController ()
13 |
14 | @property (weak, nonatomic) IBOutlet UITextField *tf1;
15 |
16 | @property (weak, nonatomic) IBOutlet UITextField *tf2;
17 |
18 | @property (weak, nonatomic) IBOutlet UITextField *tf3;
19 |
20 |
21 |
22 |
23 | @end
24 |
25 | @implementation ViewController
26 |
27 | - (void)viewDidLoad {
28 | [super viewDidLoad];
29 |
30 | //普通的pickerView
31 | [self normalPickerView];
32 |
33 | //键盘模型
34 | [self keyvaluesPickerView];
35 |
36 | //日期选取
37 | [self datePicker];
38 | }
39 |
40 |
41 |
42 |
43 | /*
44 | * 普通的pickerView
45 | */
46 | -(void)normalPickerView{
47 |
48 | //创建模型
49 | Core1PickerModel *pickerModel=[Core1PickerModel pickerModel:@[@"男",@"女"]];
50 |
51 | //创建pickerView
52 | Core1PickerView *sexPicerView=[Core1PickerView pickerView:pickerModel];
53 |
54 | [_tf1 add1PickerView:sexPicerView];
55 | }
56 |
57 |
58 |
59 |
60 | /*
61 | * 键值对pickerView
62 | */
63 | -(void)keyvaluesPickerView{
64 |
65 |
66 |
67 | Core1KeyValueObj *obj1= [Core1KeyValueObj obj:1 content:@"大众"];
68 | Core1KeyValueObj *obj2= [Core1KeyValueObj obj:2 content:@"宝马"];
69 | Core1KeyValueObj *obj3= [Core1KeyValueObj obj:3 content:@"奔驰"];
70 | Core1KeyValueObj *obj4= [Core1KeyValueObj obj:4 content:@"福特"];
71 |
72 | //建立模型
73 | Core1PickerModel *pickerModel=[Core1PickerModel pickerModel:@[obj1,obj2,obj3,obj4]];
74 |
75 | //建立pickerView
76 | Core1PickerView *pickerView=[Core1PickerView pickerView:pickerModel];
77 |
78 | //添加
79 | [_tf2 add1PickerView:pickerView];
80 | }
81 |
82 |
83 |
84 | /*
85 | * 日期选取
86 | */
87 | -(void)datePicker{
88 |
89 | //建立datePicker
90 | CoreDatePicker *datePicker=[CoreDatePicker datePicker:@"yyyy-MM-dd HH:mm:ss"];
91 |
92 | [_tf3 addDatePickerView:datePicker];
93 | }
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 | /*
115 | * 值查看
116 | */
117 | - (IBAction)see1:(id)sender {
118 |
119 | NSString *uiValue=_tf1.input1pickerView.selectedUIValue;
120 | NSString *realValue=_tf1.input1pickerView.selectedRealValue;
121 |
122 | NSLog(@"tf1:uiValue=%@,realValue=%@",uiValue,realValue);
123 | }
124 |
125 |
126 | - (IBAction)see2:(id)sender {
127 |
128 | NSString *uiValue=_tf2.input1pickerView.selectedUIValue;
129 | NSString *realValue=_tf2.input1pickerView.selectedRealValue;
130 |
131 | NSLog(@"tf2:uiValue=%@,realValue=%@",uiValue,realValue);
132 |
133 | }
134 |
135 |
136 | - (IBAction)see3:(id)sender {
137 |
138 | NSString *uiValue=_tf3.datePicker.selectedUIValue;
139 | NSString *timeStamp=_tf3.datePicker.selectedRealValue;
140 |
141 | NSLog(@"tf3:uiValue=%@,realValue=%@",uiValue,timeStamp);
142 |
143 | }
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 | - (IBAction)closeKeyboard:(id)sender {
178 | [self.view endEditing:YES];
179 | }
180 |
181 |
182 |
183 |
184 | @end
185 |
--------------------------------------------------------------------------------
/CorePickerView/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/CorePickerView.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
47 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
65 |
66 |
75 |
77 |
83 |
84 |
85 |
86 |
87 |
88 |
94 |
96 |
102 |
103 |
104 |
105 |
107 |
108 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/CorePickerView/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 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
50 |
51 |
52 |
53 |
54 |
55 |
64 |
65 |
66 |
67 |
68 |
69 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
--------------------------------------------------------------------------------
/CorePickerView.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 897883851AC2D71800142C10 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 897883841AC2D71800142C10 /* main.m */; };
11 | 897883881AC2D71800142C10 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 897883871AC2D71800142C10 /* AppDelegate.m */; };
12 | 8978838B1AC2D71800142C10 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8978838A1AC2D71800142C10 /* ViewController.m */; };
13 | 8978838E1AC2D71800142C10 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8978838C1AC2D71800142C10 /* Main.storyboard */; };
14 | 897883901AC2D71800142C10 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8978838F1AC2D71800142C10 /* Images.xcassets */; };
15 | 897883931AC2D71800142C10 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 897883911AC2D71800142C10 /* LaunchScreen.xib */; };
16 | 8978839F1AC2D71800142C10 /* CorePickerViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8978839E1AC2D71800142C10 /* CorePickerViewTests.m */; };
17 | 897DF2BA1AC3007C003ABC96 /* Core1PickerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2B11AC3007C003ABC96 /* Core1PickerModel.m */; };
18 | 897DF2BB1AC3007C003ABC96 /* Core1KeyValueObj.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2B41AC3007C003ABC96 /* Core1KeyValueObj.m */; };
19 | 897DF2BC1AC3007C003ABC96 /* Core1PickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2B71AC3007C003ABC96 /* Core1PickerView.m */; };
20 | 897DF2BD1AC3007C003ABC96 /* UITextField+PicerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2B91AC3007C003ABC96 /* UITextField+PicerView.m */; };
21 | 897DF2C51AC3048A003ABC96 /* CoreDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2C41AC3048A003ABC96 /* CoreDatePicker.m */; };
22 | 897DF2CA1AC30846003ABC96 /* NSDate+PickerFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2C91AC30846003ABC96 /* NSDate+PickerFormat.m */; };
23 | 897DF2CD1AC308C7003ABC96 /* NSString+PickerFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 897DF2CC1AC308C7003ABC96 /* NSString+PickerFormat.m */; };
24 | 897DF2D21AC30D75003ABC96 /* 1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 897DF2CF1AC30D75003ABC96 /* 1.jpg */; };
25 | 897DF2D31AC30D75003ABC96 /* 2.png in Resources */ = {isa = PBXBuildFile; fileRef = 897DF2D01AC30D75003ABC96 /* 2.png */; };
26 | 897DF2D41AC30D75003ABC96 /* 3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 897DF2D11AC30D75003ABC96 /* 3.jpg */; };
27 | 897DF2E01AC31429003ABC96 /* 1.png in Resources */ = {isa = PBXBuildFile; fileRef = 897DF2DD1AC31429003ABC96 /* 1.png */; };
28 | 897DF2E11AC31429003ABC96 /* 2.png in Resources */ = {isa = PBXBuildFile; fileRef = 897DF2DE1AC31429003ABC96 /* 2.png */; };
29 | 897DF2E21AC31429003ABC96 /* 3.png in Resources */ = {isa = PBXBuildFile; fileRef = 897DF2DF1AC31429003ABC96 /* 3.png */; };
30 | /* End PBXBuildFile section */
31 |
32 | /* Begin PBXContainerItemProxy section */
33 | 897883991AC2D71800142C10 /* PBXContainerItemProxy */ = {
34 | isa = PBXContainerItemProxy;
35 | containerPortal = 897883771AC2D71800142C10 /* Project object */;
36 | proxyType = 1;
37 | remoteGlobalIDString = 8978837E1AC2D71800142C10;
38 | remoteInfo = CorePickerView;
39 | };
40 | /* End PBXContainerItemProxy section */
41 |
42 | /* Begin PBXFileReference section */
43 | 8978837F1AC2D71800142C10 /* CorePickerView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CorePickerView.app; sourceTree = BUILT_PRODUCTS_DIR; };
44 | 897883831AC2D71800142C10 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | 897883841AC2D71800142C10 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
46 | 897883861AC2D71800142C10 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
47 | 897883871AC2D71800142C10 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
48 | 897883891AC2D71800142C10 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
49 | 8978838A1AC2D71800142C10 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
50 | 8978838D1AC2D71800142C10 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
51 | 8978838F1AC2D71800142C10 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
52 | 897883921AC2D71800142C10 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
53 | 897883981AC2D71800142C10 /* CorePickerViewTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CorePickerViewTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
54 | 8978839D1AC2D71800142C10 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
55 | 8978839E1AC2D71800142C10 /* CorePickerViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CorePickerViewTests.m; sourceTree = ""; };
56 | 897DF2B01AC3007C003ABC96 /* Core1PickerModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Core1PickerModel.h; sourceTree = ""; };
57 | 897DF2B11AC3007C003ABC96 /* Core1PickerModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Core1PickerModel.m; sourceTree = ""; };
58 | 897DF2B31AC3007C003ABC96 /* Core1KeyValueObj.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Core1KeyValueObj.h; sourceTree = ""; };
59 | 897DF2B41AC3007C003ABC96 /* Core1KeyValueObj.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Core1KeyValueObj.m; sourceTree = ""; };
60 | 897DF2B61AC3007C003ABC96 /* Core1PickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Core1PickerView.h; sourceTree = ""; };
61 | 897DF2B71AC3007C003ABC96 /* Core1PickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Core1PickerView.m; sourceTree = ""; };
62 | 897DF2B81AC3007C003ABC96 /* UITextField+PicerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITextField+PicerView.h"; sourceTree = ""; };
63 | 897DF2B91AC3007C003ABC96 /* UITextField+PicerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextField+PicerView.m"; sourceTree = ""; };
64 | 897DF2C31AC3048A003ABC96 /* CoreDatePicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDatePicker.h; sourceTree = ""; };
65 | 897DF2C41AC3048A003ABC96 /* CoreDatePicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreDatePicker.m; sourceTree = ""; };
66 | 897DF2C71AC306BD003ABC96 /* CorePickerViewDefine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CorePickerViewDefine.h; sourceTree = ""; };
67 | 897DF2C81AC30846003ABC96 /* NSDate+PickerFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+PickerFormat.h"; sourceTree = ""; };
68 | 897DF2C91AC30846003ABC96 /* NSDate+PickerFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+PickerFormat.m"; sourceTree = ""; };
69 | 897DF2CB1AC308C7003ABC96 /* NSString+PickerFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+PickerFormat.h"; sourceTree = ""; };
70 | 897DF2CC1AC308C7003ABC96 /* NSString+PickerFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+PickerFormat.m"; sourceTree = ""; };
71 | 897DF2CF1AC30D75003ABC96 /* 1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 1.jpg; sourceTree = ""; };
72 | 897DF2D01AC30D75003ABC96 /* 2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 2.png; sourceTree = ""; };
73 | 897DF2D11AC30D75003ABC96 /* 3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 3.jpg; sourceTree = ""; };
74 | 897DF2DD1AC31429003ABC96 /* 1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 1.png; sourceTree = ""; };
75 | 897DF2DE1AC31429003ABC96 /* 2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 2.png; sourceTree = ""; };
76 | 897DF2DF1AC31429003ABC96 /* 3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 3.png; sourceTree = ""; };
77 | /* End PBXFileReference section */
78 |
79 | /* Begin PBXFrameworksBuildPhase section */
80 | 8978837C1AC2D71800142C10 /* Frameworks */ = {
81 | isa = PBXFrameworksBuildPhase;
82 | buildActionMask = 2147483647;
83 | files = (
84 | );
85 | runOnlyForDeploymentPostprocessing = 0;
86 | };
87 | 897883951AC2D71800142C10 /* Frameworks */ = {
88 | isa = PBXFrameworksBuildPhase;
89 | buildActionMask = 2147483647;
90 | files = (
91 | );
92 | runOnlyForDeploymentPostprocessing = 0;
93 | };
94 | /* End PBXFrameworksBuildPhase section */
95 |
96 | /* Begin PBXGroup section */
97 | 897883761AC2D71800142C10 = {
98 | isa = PBXGroup;
99 | children = (
100 | 897883811AC2D71800142C10 /* CorePickerView */,
101 | 8978839B1AC2D71800142C10 /* CorePickerViewTests */,
102 | 897883801AC2D71800142C10 /* Products */,
103 | );
104 | sourceTree = "";
105 | };
106 | 897883801AC2D71800142C10 /* Products */ = {
107 | isa = PBXGroup;
108 | children = (
109 | 8978837F1AC2D71800142C10 /* CorePickerView.app */,
110 | 897883981AC2D71800142C10 /* CorePickerViewTests.xctest */,
111 | );
112 | name = Products;
113 | sourceTree = "";
114 | };
115 | 897883811AC2D71800142C10 /* CorePickerView */ = {
116 | isa = PBXGroup;
117 | children = (
118 | 897DF2AC1AC3007C003ABC96 /* CorePickerView */,
119 | 897883861AC2D71800142C10 /* AppDelegate.h */,
120 | 897883871AC2D71800142C10 /* AppDelegate.m */,
121 | 897883891AC2D71800142C10 /* ViewController.h */,
122 | 8978838A1AC2D71800142C10 /* ViewController.m */,
123 | 8978838C1AC2D71800142C10 /* Main.storyboard */,
124 | 8978838F1AC2D71800142C10 /* Images.xcassets */,
125 | 897883911AC2D71800142C10 /* LaunchScreen.xib */,
126 | 897883821AC2D71800142C10 /* Supporting Files */,
127 | );
128 | path = CorePickerView;
129 | sourceTree = "";
130 | };
131 | 897883821AC2D71800142C10 /* Supporting Files */ = {
132 | isa = PBXGroup;
133 | children = (
134 | 897DF2CE1AC30D75003ABC96 /* pic */,
135 | 897883831AC2D71800142C10 /* Info.plist */,
136 | 897883841AC2D71800142C10 /* main.m */,
137 | );
138 | name = "Supporting Files";
139 | sourceTree = "";
140 | };
141 | 8978839B1AC2D71800142C10 /* CorePickerViewTests */ = {
142 | isa = PBXGroup;
143 | children = (
144 | 8978839E1AC2D71800142C10 /* CorePickerViewTests.m */,
145 | 8978839C1AC2D71800142C10 /* Supporting Files */,
146 | );
147 | path = CorePickerViewTests;
148 | sourceTree = "";
149 | };
150 | 8978839C1AC2D71800142C10 /* Supporting Files */ = {
151 | isa = PBXGroup;
152 | children = (
153 | 897DF2DC1AC31429003ABC96 /* pics */,
154 | 8978839D1AC2D71800142C10 /* Info.plist */,
155 | );
156 | name = "Supporting Files";
157 | sourceTree = "";
158 | };
159 | 897DF2AC1AC3007C003ABC96 /* CorePickerView */ = {
160 | isa = PBXGroup;
161 | children = (
162 | 897DF2C61AC30698003ABC96 /* Common */,
163 | 897DF2AD1AC3007C003ABC96 /* DatePicker */,
164 | 897DF2AE1AC3007C003ABC96 /* One */,
165 | 897DF2B81AC3007C003ABC96 /* UITextField+PicerView.h */,
166 | 897DF2B91AC3007C003ABC96 /* UITextField+PicerView.m */,
167 | );
168 | path = CorePickerView;
169 | sourceTree = "";
170 | };
171 | 897DF2AD1AC3007C003ABC96 /* DatePicker */ = {
172 | isa = PBXGroup;
173 | children = (
174 | 897DF2C11AC3048A003ABC96 /* Category */,
175 | 897DF2C21AC3048A003ABC96 /* View */,
176 | );
177 | path = DatePicker;
178 | sourceTree = "";
179 | };
180 | 897DF2AE1AC3007C003ABC96 /* One */ = {
181 | isa = PBXGroup;
182 | children = (
183 | 897DF2AF1AC3007C003ABC96 /* Model */,
184 | 897DF2B51AC3007C003ABC96 /* View */,
185 | );
186 | path = One;
187 | sourceTree = "";
188 | };
189 | 897DF2AF1AC3007C003ABC96 /* Model */ = {
190 | isa = PBXGroup;
191 | children = (
192 | 897DF2B01AC3007C003ABC96 /* Core1PickerModel.h */,
193 | 897DF2B11AC3007C003ABC96 /* Core1PickerModel.m */,
194 | 897DF2B21AC3007C003ABC96 /* SubObj */,
195 | );
196 | path = Model;
197 | sourceTree = "";
198 | };
199 | 897DF2B21AC3007C003ABC96 /* SubObj */ = {
200 | isa = PBXGroup;
201 | children = (
202 | 897DF2B31AC3007C003ABC96 /* Core1KeyValueObj.h */,
203 | 897DF2B41AC3007C003ABC96 /* Core1KeyValueObj.m */,
204 | );
205 | path = SubObj;
206 | sourceTree = "";
207 | };
208 | 897DF2B51AC3007C003ABC96 /* View */ = {
209 | isa = PBXGroup;
210 | children = (
211 | 897DF2B61AC3007C003ABC96 /* Core1PickerView.h */,
212 | 897DF2B71AC3007C003ABC96 /* Core1PickerView.m */,
213 | );
214 | path = View;
215 | sourceTree = "";
216 | };
217 | 897DF2C11AC3048A003ABC96 /* Category */ = {
218 | isa = PBXGroup;
219 | children = (
220 | 897DF2C81AC30846003ABC96 /* NSDate+PickerFormat.h */,
221 | 897DF2C91AC30846003ABC96 /* NSDate+PickerFormat.m */,
222 | 897DF2CB1AC308C7003ABC96 /* NSString+PickerFormat.h */,
223 | 897DF2CC1AC308C7003ABC96 /* NSString+PickerFormat.m */,
224 | );
225 | path = Category;
226 | sourceTree = "";
227 | };
228 | 897DF2C21AC3048A003ABC96 /* View */ = {
229 | isa = PBXGroup;
230 | children = (
231 | 897DF2C31AC3048A003ABC96 /* CoreDatePicker.h */,
232 | 897DF2C41AC3048A003ABC96 /* CoreDatePicker.m */,
233 | );
234 | path = View;
235 | sourceTree = "";
236 | };
237 | 897DF2C61AC30698003ABC96 /* Common */ = {
238 | isa = PBXGroup;
239 | children = (
240 | 897DF2C71AC306BD003ABC96 /* CorePickerViewDefine.h */,
241 | );
242 | path = Common;
243 | sourceTree = "";
244 | };
245 | 897DF2CE1AC30D75003ABC96 /* pic */ = {
246 | isa = PBXGroup;
247 | children = (
248 | 897DF2CF1AC30D75003ABC96 /* 1.jpg */,
249 | 897DF2D01AC30D75003ABC96 /* 2.png */,
250 | 897DF2D11AC30D75003ABC96 /* 3.jpg */,
251 | );
252 | path = pic;
253 | sourceTree = "";
254 | };
255 | 897DF2DC1AC31429003ABC96 /* pics */ = {
256 | isa = PBXGroup;
257 | children = (
258 | 897DF2DD1AC31429003ABC96 /* 1.png */,
259 | 897DF2DE1AC31429003ABC96 /* 2.png */,
260 | 897DF2DF1AC31429003ABC96 /* 3.png */,
261 | );
262 | path = pics;
263 | sourceTree = "";
264 | };
265 | /* End PBXGroup section */
266 |
267 | /* Begin PBXNativeTarget section */
268 | 8978837E1AC2D71800142C10 /* CorePickerView */ = {
269 | isa = PBXNativeTarget;
270 | buildConfigurationList = 897883A21AC2D71800142C10 /* Build configuration list for PBXNativeTarget "CorePickerView" */;
271 | buildPhases = (
272 | 8978837B1AC2D71800142C10 /* Sources */,
273 | 8978837C1AC2D71800142C10 /* Frameworks */,
274 | 8978837D1AC2D71800142C10 /* Resources */,
275 | );
276 | buildRules = (
277 | );
278 | dependencies = (
279 | );
280 | name = CorePickerView;
281 | productName = CorePickerView;
282 | productReference = 8978837F1AC2D71800142C10 /* CorePickerView.app */;
283 | productType = "com.apple.product-type.application";
284 | };
285 | 897883971AC2D71800142C10 /* CorePickerViewTests */ = {
286 | isa = PBXNativeTarget;
287 | buildConfigurationList = 897883A51AC2D71800142C10 /* Build configuration list for PBXNativeTarget "CorePickerViewTests" */;
288 | buildPhases = (
289 | 897883941AC2D71800142C10 /* Sources */,
290 | 897883951AC2D71800142C10 /* Frameworks */,
291 | 897883961AC2D71800142C10 /* Resources */,
292 | );
293 | buildRules = (
294 | );
295 | dependencies = (
296 | 8978839A1AC2D71800142C10 /* PBXTargetDependency */,
297 | );
298 | name = CorePickerViewTests;
299 | productName = CorePickerViewTests;
300 | productReference = 897883981AC2D71800142C10 /* CorePickerViewTests.xctest */;
301 | productType = "com.apple.product-type.bundle.unit-test";
302 | };
303 | /* End PBXNativeTarget section */
304 |
305 | /* Begin PBXProject section */
306 | 897883771AC2D71800142C10 /* Project object */ = {
307 | isa = PBXProject;
308 | attributes = {
309 | LastUpgradeCheck = 0620;
310 | ORGANIZATIONNAME = "冯成林";
311 | TargetAttributes = {
312 | 8978837E1AC2D71800142C10 = {
313 | CreatedOnToolsVersion = 6.2;
314 | };
315 | 897883971AC2D71800142C10 = {
316 | CreatedOnToolsVersion = 6.2;
317 | TestTargetID = 8978837E1AC2D71800142C10;
318 | };
319 | };
320 | };
321 | buildConfigurationList = 8978837A1AC2D71800142C10 /* Build configuration list for PBXProject "CorePickerView" */;
322 | compatibilityVersion = "Xcode 3.2";
323 | developmentRegion = English;
324 | hasScannedForEncodings = 0;
325 | knownRegions = (
326 | en,
327 | Base,
328 | );
329 | mainGroup = 897883761AC2D71800142C10;
330 | productRefGroup = 897883801AC2D71800142C10 /* Products */;
331 | projectDirPath = "";
332 | projectRoot = "";
333 | targets = (
334 | 8978837E1AC2D71800142C10 /* CorePickerView */,
335 | 897883971AC2D71800142C10 /* CorePickerViewTests */,
336 | );
337 | };
338 | /* End PBXProject section */
339 |
340 | /* Begin PBXResourcesBuildPhase section */
341 | 8978837D1AC2D71800142C10 /* Resources */ = {
342 | isa = PBXResourcesBuildPhase;
343 | buildActionMask = 2147483647;
344 | files = (
345 | 8978838E1AC2D71800142C10 /* Main.storyboard in Resources */,
346 | 897DF2D21AC30D75003ABC96 /* 1.jpg in Resources */,
347 | 897DF2D31AC30D75003ABC96 /* 2.png in Resources */,
348 | 897DF2D41AC30D75003ABC96 /* 3.jpg in Resources */,
349 | 897883931AC2D71800142C10 /* LaunchScreen.xib in Resources */,
350 | 897883901AC2D71800142C10 /* Images.xcassets in Resources */,
351 | );
352 | runOnlyForDeploymentPostprocessing = 0;
353 | };
354 | 897883961AC2D71800142C10 /* Resources */ = {
355 | isa = PBXResourcesBuildPhase;
356 | buildActionMask = 2147483647;
357 | files = (
358 | 897DF2E21AC31429003ABC96 /* 3.png in Resources */,
359 | 897DF2E11AC31429003ABC96 /* 2.png in Resources */,
360 | 897DF2E01AC31429003ABC96 /* 1.png in Resources */,
361 | );
362 | runOnlyForDeploymentPostprocessing = 0;
363 | };
364 | /* End PBXResourcesBuildPhase section */
365 |
366 | /* Begin PBXSourcesBuildPhase section */
367 | 8978837B1AC2D71800142C10 /* Sources */ = {
368 | isa = PBXSourcesBuildPhase;
369 | buildActionMask = 2147483647;
370 | files = (
371 | 897DF2C51AC3048A003ABC96 /* CoreDatePicker.m in Sources */,
372 | 8978838B1AC2D71800142C10 /* ViewController.m in Sources */,
373 | 897DF2BB1AC3007C003ABC96 /* Core1KeyValueObj.m in Sources */,
374 | 897883881AC2D71800142C10 /* AppDelegate.m in Sources */,
375 | 897DF2BD1AC3007C003ABC96 /* UITextField+PicerView.m in Sources */,
376 | 897DF2BC1AC3007C003ABC96 /* Core1PickerView.m in Sources */,
377 | 897DF2BA1AC3007C003ABC96 /* Core1PickerModel.m in Sources */,
378 | 897DF2CA1AC30846003ABC96 /* NSDate+PickerFormat.m in Sources */,
379 | 897DF2CD1AC308C7003ABC96 /* NSString+PickerFormat.m in Sources */,
380 | 897883851AC2D71800142C10 /* main.m in Sources */,
381 | );
382 | runOnlyForDeploymentPostprocessing = 0;
383 | };
384 | 897883941AC2D71800142C10 /* Sources */ = {
385 | isa = PBXSourcesBuildPhase;
386 | buildActionMask = 2147483647;
387 | files = (
388 | 8978839F1AC2D71800142C10 /* CorePickerViewTests.m in Sources */,
389 | );
390 | runOnlyForDeploymentPostprocessing = 0;
391 | };
392 | /* End PBXSourcesBuildPhase section */
393 |
394 | /* Begin PBXTargetDependency section */
395 | 8978839A1AC2D71800142C10 /* PBXTargetDependency */ = {
396 | isa = PBXTargetDependency;
397 | target = 8978837E1AC2D71800142C10 /* CorePickerView */;
398 | targetProxy = 897883991AC2D71800142C10 /* PBXContainerItemProxy */;
399 | };
400 | /* End PBXTargetDependency section */
401 |
402 | /* Begin PBXVariantGroup section */
403 | 8978838C1AC2D71800142C10 /* Main.storyboard */ = {
404 | isa = PBXVariantGroup;
405 | children = (
406 | 8978838D1AC2D71800142C10 /* Base */,
407 | );
408 | name = Main.storyboard;
409 | sourceTree = "";
410 | };
411 | 897883911AC2D71800142C10 /* LaunchScreen.xib */ = {
412 | isa = PBXVariantGroup;
413 | children = (
414 | 897883921AC2D71800142C10 /* Base */,
415 | );
416 | name = LaunchScreen.xib;
417 | sourceTree = "";
418 | };
419 | /* End PBXVariantGroup section */
420 |
421 | /* Begin XCBuildConfiguration section */
422 | 897883A01AC2D71800142C10 /* Debug */ = {
423 | isa = XCBuildConfiguration;
424 | buildSettings = {
425 | ALWAYS_SEARCH_USER_PATHS = NO;
426 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
427 | CLANG_CXX_LIBRARY = "libc++";
428 | CLANG_ENABLE_MODULES = YES;
429 | CLANG_ENABLE_OBJC_ARC = YES;
430 | CLANG_WARN_BOOL_CONVERSION = YES;
431 | CLANG_WARN_CONSTANT_CONVERSION = YES;
432 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
433 | CLANG_WARN_EMPTY_BODY = YES;
434 | CLANG_WARN_ENUM_CONVERSION = YES;
435 | CLANG_WARN_INT_CONVERSION = YES;
436 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
437 | CLANG_WARN_UNREACHABLE_CODE = YES;
438 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
439 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
440 | COPY_PHASE_STRIP = NO;
441 | ENABLE_STRICT_OBJC_MSGSEND = YES;
442 | GCC_C_LANGUAGE_STANDARD = gnu99;
443 | GCC_DYNAMIC_NO_PIC = NO;
444 | GCC_OPTIMIZATION_LEVEL = 0;
445 | GCC_PREPROCESSOR_DEFINITIONS = (
446 | "DEBUG=1",
447 | "$(inherited)",
448 | );
449 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
450 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
451 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
452 | GCC_WARN_UNDECLARED_SELECTOR = YES;
453 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
454 | GCC_WARN_UNUSED_FUNCTION = YES;
455 | GCC_WARN_UNUSED_VARIABLE = YES;
456 | IPHONEOS_DEPLOYMENT_TARGET = 8.2;
457 | MTL_ENABLE_DEBUG_INFO = YES;
458 | ONLY_ACTIVE_ARCH = YES;
459 | SDKROOT = iphoneos;
460 | };
461 | name = Debug;
462 | };
463 | 897883A11AC2D71800142C10 /* Release */ = {
464 | isa = XCBuildConfiguration;
465 | buildSettings = {
466 | ALWAYS_SEARCH_USER_PATHS = NO;
467 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
468 | CLANG_CXX_LIBRARY = "libc++";
469 | CLANG_ENABLE_MODULES = YES;
470 | CLANG_ENABLE_OBJC_ARC = YES;
471 | CLANG_WARN_BOOL_CONVERSION = YES;
472 | CLANG_WARN_CONSTANT_CONVERSION = YES;
473 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
474 | CLANG_WARN_EMPTY_BODY = YES;
475 | CLANG_WARN_ENUM_CONVERSION = YES;
476 | CLANG_WARN_INT_CONVERSION = YES;
477 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
478 | CLANG_WARN_UNREACHABLE_CODE = YES;
479 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
480 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
481 | COPY_PHASE_STRIP = NO;
482 | ENABLE_NS_ASSERTIONS = NO;
483 | ENABLE_STRICT_OBJC_MSGSEND = YES;
484 | GCC_C_LANGUAGE_STANDARD = gnu99;
485 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
486 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
487 | GCC_WARN_UNDECLARED_SELECTOR = YES;
488 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
489 | GCC_WARN_UNUSED_FUNCTION = YES;
490 | GCC_WARN_UNUSED_VARIABLE = YES;
491 | IPHONEOS_DEPLOYMENT_TARGET = 8.2;
492 | MTL_ENABLE_DEBUG_INFO = NO;
493 | SDKROOT = iphoneos;
494 | VALIDATE_PRODUCT = YES;
495 | };
496 | name = Release;
497 | };
498 | 897883A31AC2D71800142C10 /* Debug */ = {
499 | isa = XCBuildConfiguration;
500 | buildSettings = {
501 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
502 | INFOPLIST_FILE = CorePickerView/Info.plist;
503 | IPHONEOS_DEPLOYMENT_TARGET = 7.0;
504 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
505 | PRODUCT_NAME = "$(TARGET_NAME)";
506 | };
507 | name = Debug;
508 | };
509 | 897883A41AC2D71800142C10 /* Release */ = {
510 | isa = XCBuildConfiguration;
511 | buildSettings = {
512 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
513 | INFOPLIST_FILE = CorePickerView/Info.plist;
514 | IPHONEOS_DEPLOYMENT_TARGET = 7.0;
515 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
516 | PRODUCT_NAME = "$(TARGET_NAME)";
517 | };
518 | name = Release;
519 | };
520 | 897883A61AC2D71800142C10 /* Debug */ = {
521 | isa = XCBuildConfiguration;
522 | buildSettings = {
523 | BUNDLE_LOADER = "$(TEST_HOST)";
524 | FRAMEWORK_SEARCH_PATHS = (
525 | "$(SDKROOT)/Developer/Library/Frameworks",
526 | "$(inherited)",
527 | );
528 | GCC_PREPROCESSOR_DEFINITIONS = (
529 | "DEBUG=1",
530 | "$(inherited)",
531 | );
532 | INFOPLIST_FILE = CorePickerViewTests/Info.plist;
533 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
534 | PRODUCT_NAME = "$(TARGET_NAME)";
535 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CorePickerView.app/CorePickerView";
536 | };
537 | name = Debug;
538 | };
539 | 897883A71AC2D71800142C10 /* Release */ = {
540 | isa = XCBuildConfiguration;
541 | buildSettings = {
542 | BUNDLE_LOADER = "$(TEST_HOST)";
543 | FRAMEWORK_SEARCH_PATHS = (
544 | "$(SDKROOT)/Developer/Library/Frameworks",
545 | "$(inherited)",
546 | );
547 | INFOPLIST_FILE = CorePickerViewTests/Info.plist;
548 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
549 | PRODUCT_NAME = "$(TARGET_NAME)";
550 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CorePickerView.app/CorePickerView";
551 | };
552 | name = Release;
553 | };
554 | /* End XCBuildConfiguration section */
555 |
556 | /* Begin XCConfigurationList section */
557 | 8978837A1AC2D71800142C10 /* Build configuration list for PBXProject "CorePickerView" */ = {
558 | isa = XCConfigurationList;
559 | buildConfigurations = (
560 | 897883A01AC2D71800142C10 /* Debug */,
561 | 897883A11AC2D71800142C10 /* Release */,
562 | );
563 | defaultConfigurationIsVisible = 0;
564 | defaultConfigurationName = Release;
565 | };
566 | 897883A21AC2D71800142C10 /* Build configuration list for PBXNativeTarget "CorePickerView" */ = {
567 | isa = XCConfigurationList;
568 | buildConfigurations = (
569 | 897883A31AC2D71800142C10 /* Debug */,
570 | 897883A41AC2D71800142C10 /* Release */,
571 | );
572 | defaultConfigurationIsVisible = 0;
573 | defaultConfigurationName = Release;
574 | };
575 | 897883A51AC2D71800142C10 /* Build configuration list for PBXNativeTarget "CorePickerViewTests" */ = {
576 | isa = XCConfigurationList;
577 | buildConfigurations = (
578 | 897883A61AC2D71800142C10 /* Debug */,
579 | 897883A71AC2D71800142C10 /* Release */,
580 | );
581 | defaultConfigurationIsVisible = 0;
582 | defaultConfigurationName = Release;
583 | };
584 | /* End XCConfigurationList section */
585 | };
586 | rootObject = 897883771AC2D71800142C10 /* Project object */;
587 | }
588 |
--------------------------------------------------------------------------------