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