時間選擇器的封裝

效果圖一


效果圖二



上代碼

typedef NS_ENUM (NSInteger,SelectedDateFormatter){
    /**年月日*/
    SelectedDateFormatterDefalut,
    /**年月日 小時*/
    SelectedDateFormatter_H,
    /**年月日 小時 分鐘*/
    SelectedDateFormatter_HM,
    /**年月日  小時 分鐘  秒*/
    SelectedDateFormatter_HMS,
};
typedef NS_ENUM(NSInteger,SelectedDateDisplayType){
    /**2016-03-18*/
    SelectedDateDisplayTypeDefault,
    /**2016年03月18日*/
    SelectedDateDisplayTypeNormal,
};
/************************時間選擇滾輪顯示******************************/
typedef NS_ENUM(NSInteger,SelectingDatePickerMode){
    /** 只顯示時間*/
    SelectingDatePickerModeTime,
     /** 一般是做生日選擇(年月日)*/
    SelectingDatePickerModeDate,
     /** 月 日 星期  確切時間*/
    SelectingDatePickerModeDateAndTime,
     /** 小時  分 */
    SelectingDatePickerModeCountDownTimer,
};

/** 設置時間選擇器當前時間*/
@property(nonatomic,retain)NSDate * SelectedDate;
@property(nonatomic,retain)id<SelectedDateDelegate>delegate;
/** 最終要得到的時間格式*/
@property(nonatomic,assign)SelectedDateFormatter SelectedFormatter;
/** 時間格式是否包括年月日漢字*/
@property(nonatomic,assign)SelectedDateDisplayType SelectedDisplayType;
/** 滾輪時間顯示格式*/
@property(nonatomic,assign)SelectingDatePickerMode SelectingPickerMode;
/** 是否允許選擇過去的時間 默認 YES*/
@property (nonatomic,assign) BOOL  isForward;
/** 分鐘顯示間隔  默認1秒*/
@property(nonatomic,assign)NSInteger SelectingMinuteInterval;

調用

- (IBAction)buttonClicked:(id)sender {
    
    DatePickerView * picker = [[DatePickerView alloc] initWithFrame:self.view.bounds];
    picker.delegate = self;
    picker.SelectedFormatter = SelectedDateFormatter_HM;
    picker.SelectedDisplayType = SelectedDateDisplayTypeDefault;
    picker.SelectingPickerMode = SelectingDatePickerModeDate;
    picker.isForward = NO;

//    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
//    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; // 這裏是用大寫的 H
//    NSDate * selectDate = [dateFormatter dateFromString:@""];
//    picker.SelectedDate = selectDate;
    
    [self.view addSubview:picker];
    
}
- (void)DatePickerView:(DatePickerView *)pickerView WithSelctedDateString:(NSString *)dateString{
    self.dateDisplayLable.text = dateString;
}

使用非常簡單,思路也比較清晰,能達到一般項目的要求。

代碼傳送門https://github.com/fuzongjian/DatePickerTool.git順手可以給個star以資鼓勵。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章