//实现一个计划设置时间的选择
//上个界面是时间列表的其中一个cell点击进入此页面
//.h文件
#import "MMViewController.h"
@protocol ScheuduleStepTimeSettingDelegate <NSObject>
- (void)stepTimeSettingWithIndexRow:(NSInteger)indexRow hour:(NSString *)hour minute:(NSString *)minute;
@end
@interface ScheduleStepTimeSettingVC : MMViewController
@property (nonatomic, weak) id<ScheuduleStepTimeSettingDelegate> delegate;
@property (nonatomic, assign) NSInteger currentIndexRow;
@end
//.m文件
#import "ScheduleStepTimeSettingVC.h"
@interface ScheduleStepTimeSettingVC () <UIPickerViewDataSource, UIPickerViewDelegate>
@end
@implementation ScheduleStepTimeSettingVC{
UIPickerView *timePickView;
NSMutableArray *hourDataArr;
NSMutableArray *minuteDataArr;
NSString *currentHour;
NSString *currentMinute;
}
- (void)rightBtnDidClick{ //完成按钮
if ([self.delegate respondsToSelector:@selector(stepTimeSettingWithIndexRow:hour:minute:)]) {
[self.delegate stepTimeSettingWithIndexRow:self.currentIndexRow hour:currentHour minute:currentMinute];
}
[self.navigationController popViewControllerAnimated:YES];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationLabel.text = @"选择时间";
[self.rightBtn setTitle:@"完成" forState:UIControlStateNormal];
[self initArr];
timePickView = [[UIPickerView alloc] initWithFrame:CGRectMake(0,0,DEVICE_W, 320)];
timePickView.delegate = self;
timePickView.dataSource = self;
[self.view addSubview:timePickView];
}
- (void)initArr{
hourDataArr = [[NSMutableArray alloc] init];
for (int i = 0 ; i < 24; i ++) {
NSString *str;
if (i < 10) {
str = [@"0" stringByAppendingString:[NSString stringWithFormat:@"%d",i]];
}else{
str = [NSString stringWithFormat:@"%d",i];
}
[hourDataArr addObject:str];
}
minuteDataArr = [[NSMutableArray alloc] init];
for (int i = 0 ; i < 60; i ++) {
NSString *str;
if (i < 10) {
str = [@"0" stringByAppendingString:[NSString stringWithFormat:@"%d",i]];
}else{
str = [NSString stringWithFormat:@"%d",i];
}
[minuteDataArr addObject:str];
}
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component == 0) {
return hourDataArr.count;
}else if(component == 1){
return minuteDataArr.count;
}else{
return 0;
}
}
-(NSString*) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == 0) {
return [hourDataArr objectAtIndex:row];;
}else if(component == 1){
return [minuteDataArr objectAtIndex:row];
}else{
return nil;
}
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
if (component == 0) {
currentHour = [hourDataArr objectAtIndex:row];;
}else if(component == 1){
currentMinute = [minuteDataArr objectAtIndex:row];
}
}
@end