UIDatePickerがあり、ユーザーが選択した日付に基づいてUILabelをリアルタイムで更新しようとしています。ユーザーが1つの日付(たとえば2012年1月21日)を選択してから(たとえば2013年3月21日)に気が変わった場合、UILabelに変更を反映させたいと思います。
これまでのところ、UILabelは現在の日付を反映するだけで、ユーザーがUIDatePickerから別の日付を選択した後でもテキストを更新しません。私はこれを修正するためにポインタを検索しましたが、役に立ちませんでした。どんな助けでもありがたいです。ありがとう。
これまでのコード:.hファイル、私は持っています
@property (strong, nonatomic) IBOutlet UILabel *entryDateSetLabel;
@property (strong, nonatomic) IBOutlet UIDatePicker *entryDateSelected;
- (IBAction)datePickerDateChanged:(id)sender;
datePickerDateChangedは、日付ピッカーの値変更イベントに接続されます
.mファイル、
- (void)viewDidLoad
{
[super viewDidLoad];
self.entryDateSelected = [[UIDatePicker alloc] init];
[self.entryDateSelected addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged];
}
- (IBAction)datePickerDateChanged:(id)sender {
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"MMMM d, yyyy"];
NSString *entryDateInString = [outputFormatter stringFromDate:self.entryDateSelected.date];
[[self entryDateSetLabel] setText: entryDateInString];
}
スクリーンショット