how to implement date picker on button click in ios?

后端 未结 4 1623
忘了有多久
忘了有多久 2021-02-20 04:23

I am building an iOS app.I am using storyboards to build the screens and i have made a form which contain some fields like Name,Date,min and max.

I am facing an problem

相关标签:
4条回答
  • 2021-02-20 04:25

    Add hidden textfield view and configure the date picker.

    [self.xTextFeild setInputView:_datePicker];
    

    Then When ever you want call below code.

    [self.xTextFeild becomeFirstResponder];
    

    `

    0 讨论(0)
  • 2021-02-20 04:26
    -(IBAction)datePickerBtnAction:(id)sender
    {
        datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 0,10, 50)];
        datePicker.datePickerMode = UIDatePickerModeDate;
        datePicker.hidden = NO;
        datePicker.date = [NSDate date];
        [datePicker addTarget:self action:@selector(labelTitle:) forControlEvents:UIControlEventValueChanged];
        [self.view addSubview:datePicker];
        rightBtn = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(save:)];
        self.navigationItem.rightBarButtonItem = rightBtn;       
    }
    
    -(void)labelTitle:(id)sender
    {
        NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
        dateFormat.dateStyle = NSDateFormatterMediumStyle;
        [dateFormat setDateFormat:@"MM/dd/yyyy"];
        NSString *str = [NSString stringWithFormat:@"%@",[dateFormat  stringFromDate:datePicker.date]];
        //assign text to label
        label.text=str; 
    }
    
    -(void)save:(id)sender
    {
        self.navigationItem.rightBarButtonItem = nil;
        [datePicker removeFromSuperview];       
    }
    
    0 讨论(0)
  • 2021-02-20 04:38

    Try this:

    - (IBAction)date:(id)sender {
        datepicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 325, 300)];
        datepicker.datePickerMode = UIDatePickerModeDate;
        datepicker.hidden = NO;
        datepicker.date = [NSDate date];
    
        [datepicker addTarget:self
                       action:@selector(labelChange:)
             forControlEvents:UIControlEventValueChanged];
        [self.view addSubview:datepicker]; //this can set value of selected date to your label change according to your condition
    
    
           NSDateFormatter *df = [[NSDateFormatter alloc] init];
        [df setDateFormat:@"M-d-yyyy"]; // from here u can change format.. 
        _selectedDate.text = [df stringFromDate:datepicker.date];
    }
    
    - (void)labelChange:(id)sender{
        NSDateFormatter *df = [[NSDateFormatter alloc] init];
        [df setDateFormat:@"M-d-yyyy"];
        _selectedDate.text = [NSString stringWithFormat:@"%@",
                              [df stringFromDate:datepicker.date]];
        [datepicker removeFromSuperview];
    }
    
    0 讨论(0)
  • 2021-02-20 04:41

    You can use various controls form this

    https://www.cocoacontrols.com/search?utf8=%E2%9C%93&q=datepicker

    0 讨论(0)
提交回复
热议问题