单击按钮时应显示日期选择器

时间:2011-09-10 04:16:28

标签: iphone ios

嗨,我是iphone / ipad编程的新手。这个程序我将为ipad做,所以我想要帮助我的问题是通过点击按钮可以出现日期选择器和选择日期的时候,我希望它存储在文本字段中,还是插入日历而不是日期选择器更好?如果是这样,我如何添加普通日历以及如何编码

我应该在nib文件中做些什么更改?日期是否会显示在文本字段中?不应该有一个UITextField ??

2 个答案:

答案 0 :(得分:13)

您可以为按钮创建一个IBAction来调用以显示UIDatePicker。然后实现UIDatePicker委托方法并设置标签的文本。

在您的标头文件中:

-(IBAction)showDatePicker:(id)sender;

在您的实施文件中

 -(IBAction)showDatePicker:(id)sender
    {

    UIDatePicker* picker = [[UIDatePicker alloc] init];
                        picker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
                        picker.datePickerMode = UIDatePickerModeDate;

 [picker addTarget:self action:@selector(dueDateChanged:) forControlEvents:UIControlEventValueChanged];
                        CGSize pickerSize = [picker sizeThatFits:CGSizeZero];
                        picker.frame = CGRectMake(0.0, 250, pickerSize.width, 460);
                        picker.backgroundColor = [UIColor blackColor];
                        [self.view addSubview:picker];
                        [picker release];


    }

-(void) dueDateChanged:(UIDatePicker *)sender {
    NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateStyle:NSDateFormatterLongStyle];
    [dateFormatter setTimeStyle:NSDateFormatterNoStyle];

    //self.myLabel.text = [dateFormatter stringFromDate:[dueDatePickerView date]];
    NSLog(@"Picked the date %@", [dateFormatter stringFromDate:[sender date]]);
}

//稍后当您需要时,只需调用removeFromSuperView将其删除即可。

答案 1 :(得分:1)

-(void)ShowSelectedDate
{
  NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
  [formatter setDateFormat:@"YYYY-M-dd"];
  if ([_closingDateTxtFld isFirstResponder])
   {
    _closingDateTxtFld.text=[NSString stringWithFormat:@"%@",       [formatter stringFromDate:datePicker.date]];
    [_closingDateTxtFld resignFirstResponder];
   }
}

只需调用此方法

即可
{{1}}