Обновление UILabel в реальном времени с помощью UIDatePicker - PullRequest
0 голосов
/ 13 февраля 2012

У меня все настроено.Мне просто нужно знать, как заставить UILabel обновляться, когда пользователь проходит через UIDatePicker.

NSDate *myDate =dateView.date;
dateFormatter = [[NSDateFormatter alloc] init]; 
//NSDate *date = [NSDate date]; 
[dateFormatter setDateFormat:@"MMM d y"]; 
NSString *dateString = [dateFormatter stringFromDate:myDate]; 
NSLog(@"New Date is = %@",dateString);
self.firstDateDisplayed.text = [self.dateFormatter stringFromDate:self.dateView.date];  

}

(Это все в IBAction) Если вам нужен больше код, просто дайте мне знать.Большое спасибо.

1 Ответ

4 голосов
/ 13 февраля 2012

Вы бы поместили что-то вроде этого в свой viewDidLoad метод:

[dateView addTarget:self action:@selector(whateverTheMethodsCalled:) forControlEvents:UIControlEventValueChanged];

А потом фактический целевой метод.

-(IBAction)whateverTheMethodsCalled:(id)sender{
    //NSDate *myDate =dateView.date;
    dateFormatter = [[NSDateFormatter alloc] init]; 
    //NSDate *date = [NSDate date]; 
    [dateFormatter setDateFormat:@"MMM d y"]; 
    //NSString *dateString = [dateFormatter stringFromDate:myDate]; 
    //NSLog(@"New Date is = %@",dateString);
    firstDateDisplayed.text = [self.dateFormatter stringFromDate:dateView.date];  
}

Или в IB вы можете связать событие valueChanged с указателем даты с вашим IBAction методом.

UIDatePicker как и у всех UIControl s, есть парадигма, называемая UIControlEvent.., интересующая вас здесь valueChanged; Это похоже на то, как события кнопки запускают ваши IBAction методы для UIControlEventTouchUpInside. Все, что addTarget:action:forControlEvents: делает, это говорит, что когда происходит это управляющее событие, вы хотите позвонить.

...