timeArray计时应该基于之前的选择时间(Objective-C)

时间:2018-03-06 08:36:18

标签: ios objective-c iphone uipickerview xcode9

大家好我所有关于时间选择的问题。我有 6个按钮来从_timeArray中选择时间。如果我选择btnTime1Clicked time1="02:00 AM",如果我点击btnTime2Clicked_timeArray应该大于凌晨02:00,应该是凌晨03:00,依此类推.TIA

_timeArray=[[NSMutableArray alloc]initWithObjects:@"12:00 AM",@"01:00 AM",@"02:00 AM",@"03:00 AM",@"04:00 AM",@"05:00 AM",@"06:00 AM",@"07:00 AM",@"08:00 AM",@"09:00 AM",@"10:00 AM",@"11:00 AM",@"12:00 PM",@"01:00 PM",@"02:00 PM",@"03:00 PM",@"04:00 PM",@"05:00 PM",@"06:00 PM",@"07:00 PM",@"08:00 PM",@"09:00 PM",@"10:00 PM",@"11:00 PM", nil];


- (IBAction)btnTime1Clicked:(id)sender {

    time1=@"time1";

    selectedpickerview=_timePickerView;
    CGRect rect;
    rect = [_timePickerView frame];
    rect.origin.y = CGRectGetMaxY([UIScreen mainScreen].bounds)-320;
    rect.size.height = 330;
    _timePickerView.frame = rect;

    [self.view addSubview:_timePickerView];
    [_timePicker reloadAllComponents];

}

- (IBAction)btnTime2Clicked:(id)sender {

    time2=@"time2";

    selectedpickerview=_timePickerView;
    CGRect rect;
    rect = [_timePickerView frame];
    rect.origin.y = CGRectGetMaxY([UIScreen mainScreen].bounds)-320;
    rect.size.height = 330;
    _timePickerView.frame = rect;

    [self.view addSubview:_timePickerView];
    [_timePicker reloadAllComponents];

}

#pragma picker view delegates
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    if(selectedpickerview==_timePickerView)
    {
        return _timeArr.count;
    }
    return 1;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{

    NSString *column1=@"0";

    if(selectedpickerview==_timePickerView)
    {
        column1=[_timeArr objectAtIndex:row];

    }

    return column1;
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{

    if(selectedpickerview==_timePickerView)
    {

        if ([time1 isEqualToString:@"time1"]) {

            _txtTime1.text=[_timeArr objectAtIndex:row];
            time1 =nil;

        }
        else if ([time2 isEqualToString:@"time2"]) {

            _txtTime2.text=[_timeArr objectAtIndex:row];
            time2 =nil;
            // .... upto time6

        }
    }
}
- (IBAction)timePickerDoneClicked:(id)sender {

    selectedpickerview=nil;
    [_timePickerView removeFromSuperview];

}

0 个答案:

没有答案