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 に答える