2014-11-07 6 views
8

Я создаю приложение iOS. Я использую раскадровки для создания экранов, и я создал форму, содержащую некоторые поля, такие как Name, Date, min и max.Как реализовать выбор даты при нажатии кнопки в ios?

У меня возникла проблема, которая неспособна реализовать выбор даты при нажатии кнопки и когда пользователь выбирает дату, таймер выбора даты, хочет отобразить выбранную дату на ярлыке.

Я googled, но не смог найти хороший учебник или библиотеку. Я хочу показать только дни и дату в подборщике.

+0

Попробуйте это: http://stackoverflow.com/questions/16030559/when-user-press-button-show-datepicker-view-and -выбрать-дату-и-затем-показать-как – spaleja

ответ

4

Попробуйте это:

- (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]; 
} 
24
-(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

хороший ответ ... !!! –

1

Если есть TextField с указанием даты Первый

[self.xTextFeild setInputView:_datePicker]; 

Затем кнопку мыши использовать следующий код события

[self.xTextFeild becomeFirstResponder]; 

`

Смежные вопросы