0

そのビューのストーリーボードに描いたラベルに日付を表​​示しようとしていますが、日付を変更しようとするたびに、今日の日付のみが表示されます... Plz help In My .h file

IBOutlet UILabel *datelabel;
UIActionSheet *pickerViewPopup;
UIDatePicker *pickerView;
-(IBAction)dateButtonClicked:(id)sender;

`

私の.mファイルで

-(IBAction)dateButtonClicked:(id)sender {

[self showPickerView];

}

-(void)showPickerView {

pickerViewPopup = [[UIActionSheet alloc] initWithTitle:nil delegate:self    cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];

pickerView = nil;
pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 0, 0)];
((UIDatePicker*)pickerView).datePickerMode = UIDatePickerModeDateAndTime;


UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
pickerToolbar.barStyle = UIBarStyleBlackOpaque;
[pickerToolbar sizeToFit];

NSMutableArray *barItems = [[NSMutableArray alloc] init];

UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc]  initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self  action:@selector(cancelButtonPressed:)];
[barItems addObject:cancelBtn];

UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[barItems addObject:flexSpace];

UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)];
[barItems addObject:doneBtn];

[pickerToolbar setItems:barItems animated:YES];  

[pickerViewPopup addSubview:pickerToolbar];
[pickerViewPopup addSubview:pickerView];
[pickerViewPopup showInView:self.view];
[pickerViewPopup setBounds:CGRectMake(0, 0, 320, 464)];
}
-(void)doneButtonPressed:(id)sender {

NSDate *myDate = pickerView.date;    
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"cccc, MMM d, hh:mm aa"];
NSString *prettyVersion = [dateFormat stringFromDate:myDate];
self.datelabel.text=prettyVersion;
[pickerViewPopup dismissWithClickedButtonIndex:1 animated:YES];
}

-(void)cancelButtonPressed:(id)sender{
[pickerViewPopup dismissWithClickedButtonIndex:1 animated:YES];
}
4

1 に答える 1

0

@propertydatelabelとしてではなく、インスタンス変数として取得しました。でアクセスすることはできませんself.datelabel。だからあなたのdoneButtonPressed:...

次の行を変更します

self.datelabel.text=prettyVersion;

datelabel.text=prettyVersion;

ところで...XCodeはこの行に警告を表示している必要がありますか?

于 2012-12-15T12:41:18.540 に答える