1

我需要一些与 iOS 应用程序相关的帮助

单击按钮时,我以编程方式添加了 DatePicker,现在我无法删除视图,这是我的代码

我还尝试将日期放在标签 dateLabel 中,但它显示了一些运行时错误,因为它不是字符串格式我尝试了其他一些方法,例如 NSDateFormatter,但我没有得到正确的结果

-(IBAction)date:(id)sender{

    UIDatePicker *datePicker=[[UIDatePicker alloc]initWithFrame:CGRectMake(420, 320, 300, 500)];

    [datePicker addTarget:self action:@selector(Pick:) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:datePicker];

    NSData *date=[datePicker date];
    NSLog(@"%@",date);
    dateLabel.text=date;
}

-(void)Pick:(id)sender{

    [datePicker removeFromSuperview];
}
4

3 回答 3

1

这样做

-(IBAction)date:(id)sender
{
   datePicker=[[UIDatePicker alloc]initWithFrame:CGRectMake(420, 320, 300, 500)];
   [datePicker addTarget:self action:@selector(Pick:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:datePicker];
}

-(void)Pick:(id)sender
  {
     NSDateFormatter *df = [[NSDateFormatter alloc] init];
    df.dateStyle = kCFDateFormatterShortStyle;
     label.text=[NSString stringWithFormat:@"%@",
                     [df stringFromDate:datePicker.date]];
     [df release];
   [datePicker removeFromSuperview];
    datePicker=nil;
  }
于 2013-01-18T06:11:57.387 回答
0

尝试这个

在 .h 中声明您的日期选择器

UIDatePicker *datePicker;

接着

-(IBAction)date:(id)sender
{
   datePicker=[[UIDatePicker alloc]initWithFrame:CGRectMake(420, 320, 300, 500)];
   [datePicker addTarget:self action:@selector(Pick:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:datePicker];
}

-(void)Pick:(id)sender
  {
     NSDate *date=[datePicker date];
     NSDateFormatter *dateformatter = [[NSDateFormatter alloc]init];
    [dateformatter setDateFormat:@"YYYY-MM-DD"];
    NSString *dateSTr = [dateformatter stringFromDate:date];
    NSLog(@"%@",dateSTr);
    dateLabel.text=date;
   [datePicker removeFromSuperview];
  }
于 2013-01-18T05:59:20.827 回答
0

您将 声明UIDatePicker *datePicker为局部变量。

它只能在声明的函数 ( -(IBAction)date:(id)sender) 中访问。

您需要全局声明它以在其他函数中使用它。

在您的 .m 文件中声明该变量

@interface className()
  @property(nonatomic, strong) UIDatePicker *datePicker;
@end
于 2013-01-18T06:07:45.547 回答