После долгого времени я потратил на то, чтобы аналоговые часы работали, я пытаюсь сделать цифровой (sigh). Я пытаюсь сделать это с помощью 10 PNG с номерами 0 - 9. Каждая цифра часов будет изображением. Единственная проблема с этим - извлечение определенной цифры из текущего времени. Я попытался преобразовать время в строку и использовать characterAtIndex, но это не работает. Какой был бы лучший способ обойти это?iPhone Digital Clock
ответ
Вы можете использовать NSDateComponents
и NSCalendar
:
NSDate * date = [NSDate date];
NSCalendar * calendar = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents * components =
[calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:date];
NSInteger hour = [weekdayComponents hour];
NSInteger minute = [weekdayComponents minute];
NSInteger firstHourDigit = hour/10;
NSInteger secondHourDigit = hour%10;
NSInteger firstMinuteDigit = minute/10;
NSInteger secondMinuteDigit = minute%10;
Спасибо за ответ, это интересный подход. Я не думал, что все будет так просто! Я попробую это скоро. –
Это не работает, хотя ... Я попытался использовать это: \t [minOne setImage: [UIImage imageNamed: [NSString stringWithFormat: @ "% i.png", secondMinuteDigit]]]; Что я делаю не так? –
Он не обновляет изображение, хотя я использую nstimer ... Однако изображение появляется. –
Привет @Andy у ур проблема решена, потому что у меня есть такая же проблема, как Урс .Please может у мне помочь в создании цифровой с 10 изображениями (0-9) , – Rani