2012-10-06 6 views
0

저는 UIDatePicker를 가지고 있으며 사용자가 선택한 날짜를 기반으로 실시간으로 UILabel을 업데이트하려고합니다. 사용자가 하나의 날짜 (예 : 2012 년 1 월 21 일)를 선택한 후 마음이 바뀌면 (2013 년 3 월 21 일) UILabel에 변경 사항이 반영되기를 바랍니다.UIDatePicker가 UILabel을 업데이트하지 않습니다.

지금까지 UILabel은 현재 날짜를 반영하고 사용자가 UIDatePicker에서 다른 날짜를 선택한 후에도 텍스트를 업데이트하지 않습니다. 나는이 문제를 해결하기위한 포인터를 찾아 보았지만 아무 소용이 없었다. 어떤 도움을 주시면 감사하겠습니다. 감사.

코드 지금까지 : .H 파일, 내가 가지고있는 datePickerDateChanged이 날짜 선택

하는 .m 파일의 값 변경 이벤트에 매여있다

@property (strong, nonatomic) IBOutlet UILabel *entryDateSetLabel; 
@property (strong, nonatomic) IBOutlet UIDatePicker *entryDateSelected; 

- (IBAction)datePickerDateChanged:(id)sender; 

,

- (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]; 
} 

스크린 샷

enter image description here"값 변경"이벤트에서 16,enter image description here

+0

"값 변경"이벤트에서 데이터 선택기를 연결하십시오. – Vishal

답변

2

연결 데이터 선택기 및 수행 일부 변경

NSDate *today1 = pkrViewDate.date; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MMMM dd, yyyy"]; 
NSString *dateString11 = [dateFormat stringFromDate:today1]; 
lblDate.text=dateString11; 

ANS에 내가 다른 문서에서 가져온이 코드는 그래서 u는이

사용은 확인 당신이 날짜 선택기를 스크롤 할 때 thn "datePickerDateChanged"메서드가 호출되는지 여부입니다.

+0

여기에서 "pkrViewDate"는 UIDatePicker의 이름입니다. – Vishal

+0

안녕하세요 Vishal, 도와 주셔서 감사합니다 ... 이미 날짜 변경 선택기를 값 변경 이벤트에 연결했습니다. 나는 당신의 대답을'obj_AppDelegate.strIncomeDate' 비트를 제외하고 이해합니다. 좀 더 설명해 주시겠습니까? 고마워 – zoey

+0

나는 그것을 복사 했으므로 ..... "obj_AppDelegate.strIncomeDate = dateString11;" 이 코드는 필요하지 않습니다 ....하지만 그 줄에서 "strIncomeDate"AppDelegate 선언 된 "dateString11"값을 제공하고 있습니다. – Vishal

0

방금 ​​문제가 해결되었습니다. :-)

있는 viewDidLoad이 밖에 다른 사람 도움

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSDate *now = [NSDate date]; 
    [_entryDateSelected setDate:now animated:YES]; 

    //self.entryDateSelected = [[UIDatePicker alloc] init]; 

    [self.entryDateSelected addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged]; 
} 

희망을 읽어야합니다.

관련 문제