From 21d3023a9b7b6aff68c1170e345951396b1c6cfd Mon Sep 17 00:00:00 2001
From: 单军华
Date: Tue, 31 Jul 2018 13:35:21 +0800
Subject: [PATCH] no message

---
 screendisplay/Pods/MOFSPickerManager/MOFSPickerManagerDemo/MOFSPickerManager/MOFSPickerManager.m |  310 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 310 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/MOFSPickerManager/MOFSPickerManagerDemo/MOFSPickerManager/MOFSPickerManager.m b/screendisplay/Pods/MOFSPickerManager/MOFSPickerManagerDemo/MOFSPickerManager/MOFSPickerManager.m
new file mode 100755
index 0000000..e43b903
--- /dev/null
+++ b/screendisplay/Pods/MOFSPickerManager/MOFSPickerManagerDemo/MOFSPickerManager/MOFSPickerManager.m
@@ -0,0 +1,310 @@
+//
+//  MOFSPickerManager.m
+//  MOFSPickerManager
+//
+//  Created by luoyuan on 16/8/26.
+//  Copyright �� 2016��� luoyuan. All rights reserved.
+//
+
+#import "MOFSPickerManager.h"
+
+@implementation MOFSPickerManager
+
++ (MOFSPickerManager *)shareManger {
+    static MOFSPickerManager *manager = nil;
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        manager = [self new];
+    });
+    return  manager;
+}
+
+- (MOFSDatePicker *)datePicker {
+    if (!_datePicker) {
+        _datePicker = [MOFSDatePicker new];
+    }
+    return _datePicker;
+}
+
+- (MOFSPickerView *)pickView {
+    if (!_pickView) {
+        _pickView = [MOFSPickerView new];
+    }
+    return _pickView;
+}
+
+- (MOFSAddressPickerView *)addressPicker {
+    if (!_addressPicker) {
+        _addressPicker = [MOFSAddressPickerView new];
+    }
+    return _addressPicker;
+}
+
+// ================================DatePicker===================================//
+
+- (void)showDatePickerWithTag:(NSInteger)tag commitBlock:(DatePickerCommitBlock)commitBlock cancelBlock:(DatePickerCancelBlock)cancelBlock {
+    self.datePicker.datePickerMode = UIDatePickerModeDate;
+    
+    self.datePicker.toolBar.cancelBarTitle = @"������";
+    self.datePicker.toolBar.commitBarTitle = @"������";
+    
+    self.datePicker.minimumDate = nil;
+    self.datePicker.maximumDate = nil;
+    [self.datePicker showMOFSDatePickerViewWithTag:tag firstDate:nil commit:^(NSDate *date) {
+        if (commitBlock) {
+            commitBlock(date);
+        }
+    } cancel:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+- (void)showDatePickerWithTag:(NSInteger)tag datePickerMode:(UIDatePickerMode)mode commitBlock:(DatePickerCommitBlock)commitBlock cancelBlock:(DatePickerCancelBlock)cancelBlock {
+    self.datePicker.datePickerMode = mode;
+    
+    self.datePicker.toolBar.cancelBarTitle = @"������";
+    self.datePicker.toolBar.commitBarTitle = @"������";
+    
+    self.datePicker.minimumDate = nil;
+    self.datePicker.maximumDate = nil;
+    [self.datePicker showMOFSDatePickerViewWithTag:tag firstDate:nil commit:^(NSDate *date) {
+        if (commitBlock) {
+            commitBlock(date);
+        }
+    } cancel:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+- (void)showDatePickerWithTag:(NSInteger)tag title:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle datePickerMode:(UIDatePickerMode)mode commitBlock:(DatePickerCommitBlock)commitBlock cancelBlock:(DatePickerCancelBlock)cancelBlock {
+    self.datePicker.datePickerMode = mode;
+    
+    self.datePicker.toolBar.titleBarTitle = title;
+    self.datePicker.toolBar.cancelBarTitle = cancelTitle;
+    self.datePicker.toolBar.commitBarTitle = commitTitle;
+    
+    self.datePicker.minimumDate = nil;
+    self.datePicker.maximumDate = nil;
+    [self.datePicker showMOFSDatePickerViewWithTag:tag firstDate:nil commit:^(NSDate *date) {
+        if (commitBlock) {
+            commitBlock(date);
+        }
+    } cancel:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+- (void)showDatePickerWithTag:(NSInteger)tag firstDate:(NSDate *)firstDate minDate:(NSDate *)minDate maxDate:(NSDate *)maxDate datePickerMode:(UIDatePickerMode)mode commitBlock:(DatePickerCommitBlock)commitBlock cancelBlock:(DatePickerCancelBlock)cancelBlock {
+    self.datePicker.datePickerMode = mode;
+    
+    self.datePicker.toolBar.cancelBarTitle = @"������";
+    self.datePicker.toolBar.commitBarTitle = @"������";
+    
+    self.datePicker.minimumDate = minDate;
+    self.datePicker.maximumDate = maxDate;
+    
+    [self.datePicker showMOFSDatePickerViewWithTag:tag firstDate:firstDate commit:^(NSDate *date) {
+        if (commitBlock) {
+            commitBlock(date);
+        }
+    } cancel:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+
+- (void)showDatePickerWithTitle:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle firstDate:(NSDate *)firstDate minDate:(NSDate *)minDate maxDate:(NSDate *)maxDate datePickerMode:(UIDatePickerMode)mode tag:(NSInteger)tag commitBlock:(DatePickerCommitBlock)commitBlock cancelBlock:(DatePickerCancelBlock)cancelBlock {
+    self.datePicker.datePickerMode = mode;
+    
+    self.datePicker.toolBar.titleBarTitle = title;
+    self.datePicker.toolBar.cancelBarTitle = cancelTitle;
+    self.datePicker.toolBar.commitBarTitle = commitTitle;
+    
+    self.datePicker.minimumDate = minDate;
+    self.datePicker.maximumDate = maxDate;
+    
+    [self.datePicker showMOFSDatePickerViewWithTag:tag firstDate:firstDate commit:^(NSDate *date) {
+        if (commitBlock) {
+            commitBlock(date);
+        }
+    } cancel:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+// ================================pickerView===================================//
+
+- (void)showPickerViewWithDataArray:(NSArray<NSString *> *)array tag:(NSInteger)tag title:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle commitBlock:(PickerViewCommitBlock)commitBlock cancelBlock:(PickerViewCancelBlock)cancelBlock {
+    
+    self.pickView.showTag = tag;
+    self.pickView.toolBar.titleBarTitle = title;
+    self.pickView.toolBar.cancelBarTitle = cancelTitle;
+    self.pickView.toolBar.commitBarTitle = commitTitle;
+    [self.pickView showMOFSPickerViewWithDataArray:array commitBlock:^(NSString *string) {
+        if (commitBlock) {
+            commitBlock(string);
+        }
+    } cancelBlock:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+    
+}
+
+- (void)showPickerViewWithCustomDataArray:(NSArray *)array keyMapper:(NSString *)keyMapper tag:(NSInteger)tag title:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle commitBlock:(PickerViewCustomCommitBlock)commitBlock cancelBlock:(PickerViewCancelBlock)cancelBlock {
+    self.pickView.showTag = tag;
+    self.pickView.toolBar.titleBarTitle = title;
+    self.pickView.toolBar.cancelBarTitle = cancelTitle;
+    self.pickView.toolBar.commitBarTitle = commitTitle;
+    [self.pickView showMOFSPickerViewWithCustomDataArray:array keyMapper:keyMapper commitBlock:^(id model) {
+        if (commitBlock) {
+            commitBlock(model);
+        }
+    } cancelBlock:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+//===============================addressPicker===================================//
+
+- (void)showMOFSAddressPickerWithTitle:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle commitBlock:(void(^)(NSString *address, NSString *zipcode))commitBlock cancelBlock:(void(^)(void))cancelBlock {
+    self.addressPicker.toolBar.titleBarTitle = title;
+    self.addressPicker.toolBar.cancelBarTitle = cancelTitle;
+    self.addressPicker.toolBar.commitBarTitle = commitTitle;
+    [self.addressPicker showMOFSAddressPickerCommitBlock:^(NSString *address, NSString *zipcode) {
+        if (commitBlock) {
+            commitBlock(address, zipcode);
+        }
+    } cancelBlock:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+}
+
+- (void)showMOFSAddressPickerWithDefaultAddress:(NSString *)address title:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle commitBlock:(void(^)(NSString *address, NSString *zipcode))commitBlock cancelBlock:(void(^)(void))cancelBlock {
+    self.addressPicker.toolBar.titleBarTitle = title;
+    self.addressPicker.toolBar.cancelBarTitle = cancelTitle;
+    self.addressPicker.toolBar.commitBarTitle = commitTitle;
+    
+    [self.addressPicker showMOFSAddressPickerCommitBlock:^(NSString *address, NSString *zipcode) {
+        if (commitBlock) {
+            commitBlock(address, zipcode);
+        }
+    } cancelBlock:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+
+    if (address == nil || [address isEqualToString:@""]) {
+        return;
+    }
+    
+    [self searchIndexByAddress:address block:^(NSString *address) {
+        BOOL flag = [address rangeOfString:@"error"].location == NSNotFound;
+        if (flag) {
+            NSArray *indexArr = [address componentsSeparatedByString:@"-"];
+            for (int i = 0; i < indexArr.count; i++) {
+                @try {
+                    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                        [self.addressPicker selectRow:[indexArr[i] integerValue] inComponent:i animated:NO];
+                    });
+                } @catch (NSException *exception) {
+                    
+                } @finally {
+                    
+                }
+                
+            }
+        }
+    }];
+    
+}
+
+- (void)showMOFSAddressPickerWithDefaultZipcode:(NSString *)zipcode title:(NSString *)title cancelTitle:(NSString *)cancelTitle commitTitle:(NSString *)commitTitle commitBlock:(void (^)(NSString *, NSString *))commitBlock cancelBlock:(void (^)(void))cancelBlock {
+    self.addressPicker.toolBar.titleBarTitle = title;
+    self.addressPicker.toolBar.cancelBarTitle = cancelTitle;
+    self.addressPicker.toolBar.commitBarTitle = commitTitle;
+    
+    [self.addressPicker showMOFSAddressPickerCommitBlock:^(NSString *address, NSString *zipcode) {
+        if (commitBlock) {
+            commitBlock(address, zipcode);
+        }
+    } cancelBlock:^{
+        if (cancelBlock) {
+            cancelBlock();
+        }
+    }];
+    
+    if (zipcode == nil || [zipcode  isEqual: @""]) {
+        return;
+    }
+    
+    [self searchIndexByZipCode:zipcode block:^(NSString *address) {
+        BOOL flag = [address rangeOfString:@"error"].location == NSNotFound;
+        if (flag) {
+            NSArray *indexArr = [address componentsSeparatedByString:@"-"];
+            for (int i = 0; i < indexArr.count; i++) {
+                @try {
+                    dispatch_async(dispatch_get_main_queue(), ^{
+                        [self.addressPicker selectRow:[indexArr[i] integerValue] inComponent:i animated:NO];
+                    });
+                } @catch (NSException *exception) {
+                    
+                } @finally {
+                    
+                }
+                
+            }
+        }
+    }];
+    
+}
+
+- (void)searchAddressByZipcode:(NSString *)zipcode block:(void(^)(NSString *address))block {
+    [self.addressPicker searchType:SearchTypeAddress key:zipcode block:^(NSString *result) {
+        if (block) {
+            block(result);
+        }
+    }];
+}
+
+- (void)searchZipCodeByAddress:(NSString *)address block:(void(^)(NSString *zipcode))block {
+    [self.addressPicker searchType:SearchTypeZipcode key:address block:^(NSString *result) {
+        if (block) {
+            block(result);
+        }
+    }];
+}
+
+- (void)searchIndexByAddress:(NSString *)address block:(void(^)(NSString *address))block {
+    [self.addressPicker searchType:SearchTypeAddressIndex key:address block:^(NSString *result) {
+        if (block) {
+            block(result);
+        }
+    }];
+}
+
+- (void)searchIndexByZipCode:(NSString *)zipcode block:(void (^)(NSString *))block {
+    [self.addressPicker searchType:SearchTypeZipcodeIndex key:zipcode block:^(NSString *result) {
+        if (block) {
+            block(result);
+        }
+    }];
+}
+
+@end

--
Gitblit v1.8.0