单军华
2018-07-19 83b9d5c682b21d88133f24da0f94dd56bd79e687
screendisplay/Pods/MOFSPickerManager/MOFSPickerManagerDemo/MOFSPickerManager/MOFSPickerManager.h
New file
@@ -0,0 +1,166 @@
//
//  MOFSPickerManager.h
//  MOFSPickerManager
//
//  Created by luoyuan on 16/8/26.
//  Copyright © 2016年 luoyuan. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "MOFSDatePicker.h"
#import "MOFSPickerView.h"
#import "MOFSAddressPickerView.h"
typedef void (^DatePickerCommitBlock)(NSDate * _Nonnull date);
typedef void (^DatePickerCancelBlock)(void);
typedef void (^PickerViewCommitBlock)(NSString * _Nonnull string);
typedef void (^PickerViewCustomCommitBlock)(id model);
typedef void (^PickerViewCancelBlock)(void);
@interface MOFSPickerManager : NSObject
+ (MOFSPickerManager *_Nonnull)shareManger;
@property (nonatomic, strong) MOFSDatePicker * _Nonnull datePicker;
@property (nonatomic, strong) MOFSPickerView * _Nonnull pickView;
@property (nonatomic, strong) MOFSAddressPickerView * _Nonnull addressPicker;
// ================================DatePicker===================================//
/**
 * show default datePicker.
 * default datePickerMode : UIDatePickerModeDate.
 * default cancelTitle : "取消".
 * default commitTitle : "确定".
 * default title : "".
 * @param tag : will remeber the last date you had select.
 */
- (void)showDatePickerWithTag:(NSInteger)tag commitBlock:(DatePickerCommitBlock _Nullable )commitBlock cancelBlock:(DatePickerCancelBlock _Nullable )cancelBlock;
/**
 * show default datePicker with your custom datePickerMode.
 * default cancelTitle : "取消".
 * default commitTitle : "确定".
 * default title : "".
 * @param tag : will remeber the last date you had select.
 * @param mode : UIDatePickerMode
 */
- (void)showDatePickerWithTag:(NSInteger)tag datePickerMode:(UIDatePickerMode)mode commitBlock:(DatePickerCommitBlock _Nullable )commitBlock cancelBlock:(DatePickerCancelBlock _Nullable )cancelBlock;
/**
 * show datePicker with your custom datePickerMode ,title , cancelTitle , commitTitle.
 * @param tag : will remeber the last date you had select.
 * @param title : toolbar title
 * @param cancelTitle : "".
 * @param commitTitle : "".
 * @param mode : UIDatePickerMode.
 */
- (void)showDatePickerWithTag:(NSInteger)tag title:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle datePickerMode:(UIDatePickerMode)mode commitBlock:(DatePickerCommitBlock _Nullable )commitBlock cancelBlock:(DatePickerCancelBlock _Nullable )cancelBlock;
/**
 * show datePicker with your custom datePickerMode ,firstDate , minDate , maxDate.
 * @param firstDate : show date.
 * @param minDate : minimumDate.
 * @param maxDate : maximumDate.
 * @param mode : UIDatePickerMode.
 */
- (void)showDatePickerWithTag:(NSInteger)tag firstDate:(NSDate *_Nullable)firstDate minDate:(NSDate *_Nullable)minDate maxDate:(NSDate *_Nullable)maxDate datePickerMode:(UIDatePickerMode)mode commitBlock:(DatePickerCommitBlock _Nullable )commitBlock cancelBlock:(DatePickerCancelBlock _Nullable )cancelBlock;
/**
 * show datePicker with your custom datePickerMode ,firstDate ,title , cancelTitle , commitTitle , minDate , maxDate.
 * @param title : toolbar title
 * @param cancelTitle : "".
 * @param commitTitle : "".
 * @param firstDate : show date.
 * @param minDate : minimumDate.
 * @param maxDate : maximumDate.
 * @param mode : UIDatePickerMode.
 * @param tag : will remeber the last date you had select.
 */
- (void)showDatePickerWithTitle:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle firstDate:(NSDate *_Nullable)firstDate minDate:(NSDate *_Nullable)minDate maxDate:(NSDate *_Nullable)maxDate datePickerMode:(UIDatePickerMode)mode tag:(NSInteger)tag commitBlock:(DatePickerCommitBlock _Nullable )commitBlock cancelBlock:(DatePickerCancelBlock _Nullable )cancelBlock;
// ================================pickerView===================================//
- (void)showPickerViewWithDataArray:(NSArray<NSString *> *_Nullable)array tag:(NSInteger)tag title:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle commitBlock:(PickerViewCommitBlock _Nullable )commitBlock cancelBlock:(PickerViewCancelBlock _Nullable )cancelBlock;
- (void)showPickerViewWithCustomDataArray:(NSArray *_Nullable)array keyMapper:(NSString *)keyMapper tag:(NSInteger)tag title:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle commitBlock:(PickerViewCustomCommitBlock _Nullable)commitBlock cancelBlock:(PickerViewCancelBlock _Nullable )cancelBlock;
//===============================addressPicker===================================//
/**
 *  show addressPicker with your custom title, cancelTitle, commitTitle
 *
 *  @param title       your custom title
 *  @param cancelTitle your custom cancelTitle
 *  @param commitTitle your custom commitTitle
 *  @param commitBlock commitBlock
 *  @param cancelBlock cancelBlock
 */
- (void)showMOFSAddressPickerWithTitle:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle commitBlock:(void(^_Nullable)(NSString * _Nullable address, NSString * _Nullable zipcode))commitBlock cancelBlock:(void(^_Nullable)(void))cancelBlock;
/**
 *  show addressPicker with your custom title, cancelTitle, commitTitle
 *
 *  @param title       your custom title
 *  @param address     default address
 *  @param cancelTitle your custom cancelTitle
 *  @param commitTitle your custom commitTitle
 *  @param commitBlock commitBlock
 *  @param cancelBlock cancelBlock
 */
- (void)showMOFSAddressPickerWithDefaultAddress:(NSString *_Nullable)address title:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle commitBlock:(void(^_Nullable)(NSString * _Nullable address, NSString * _Nullable zipcode))commitBlock cancelBlock:(void(^_Nullable)(void))cancelBlock;
/**
 *  show addressPicker with your custom title, cancelTitle, commitTitle
 *
 *  @param zipcode     default zipcode
 *  @param title       your custom title
 *  @param cancelTitle your custom cancelTitle
 *  @param commitTitle your custom commitTitle
 *  @param commitBlock commitBlock
 *  @param cancelBlock cancelBlock
 */
- (void)showMOFSAddressPickerWithDefaultZipcode:(NSString *_Nullable)zipcode title:(NSString *_Nullable)title cancelTitle:(NSString *_Nullable)cancelTitle commitTitle:(NSString *_Nullable)commitTitle commitBlock:(void(^_Nullable)(NSString * _Nullable address, NSString * _Nullable zipcode))commitBlock cancelBlock:(void(^_Nullable)(void))cancelBlock;
/**
 *  searchAddressByZipcode
 *
 *  @param zipcode zipcode
 *  @param block block
 */
- (void)searchAddressByZipcode:(NSString *_Nullable)zipcode block:(void(^_Nullable)(NSString * _Nullable address))block;
/**
 *  searchZipCodeByAddress
 *
 *  @param address address
 *  @param block block
 */
- (void)searchZipCodeByAddress:(NSString *_Nullable)address block:(void(^_Nullable)(NSString * _Nullable zipcode))block;
/**
 *  searchIndexByAddress
 *
 *  @param address address
 *  @param block block
 */
- (void)searchIndexByAddress:(NSString *_Nullable)address block:(void(^_Nullable)(NSString * _Nullable address))block;
/**
 *  searchIndexByZipCode
 *
 *  @param zipcode address
 *  @param block block
 */
- (void)searchIndexByZipCode:(NSString *_Nullable)zipcode block:(void(^_Nullable)(NSString * _Nullable address))block;
@end