Я разрабатываю для ИОС, и я нахожусь в создании из UITextField
, содержащего UIDatePicker
как его inputView
. Моя проблема заключается в следующем: я установил минимальное время до настоящего времени ->[NSDate date]
, и это потому, что я не хочу, чтобы пользователь вводил время до now
.
Это прекрасно работает, но если пользователь остается в ViewController, когда время проходит в телефоне, я получаю неправильное время (за 1 минуту до now
).
Есть ли способ слушать аппаратные часы и синхронизировать их с часами телефона? как послушать уведомление iPhone (надеюсь) для изменения минуты?
Я не хочу, чтобы пользователь видел неправильное время, я хочу, чтобы текстовое поле менялось, если время прошло.
Я думал о реализации, и я хотел бы услышать другую точку зрения, так как у меня это совсем непросто ...
Моя реализация:
1. бег с задержкой НОД асинхронной за секундами, оставленными в текущем минуты, и когда это достигает, слушайте каждые 60 секунд ... но это не похоже на правильную идею, так как если пользователь покинет ViewController, я могу получить утечку или пользователь помещает приложение в фоновом режиме, это будет замораживаться и продолжаться с неправильного места (согласно документации GCD).
Любое предложение будет очень оценено.UIDatePicker с минимальным временем
ответ
Вместо использования GDC, сделайте аналогичный подход, но с NSTimer
. invalidate
таймер, когда вид скрыт (viewDidDisappear:
), и наблюдайте за уведомлениями приложений для перехода на задний план и возврата на передний план для сброса таймера.
Вам нужно вычислить конец следующей минуты, это становится первой датой пожара (fireDate
). Как только вы что:
NSTimer *timer = [[NSTimer alloc] initWithFireDate:fireDate interval:60 target:self selector:@selectior(...) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode: NSDefaultRunLoopMode];
Я вижу, что вы имеете в виду, никогда не использовал 'NSTimer' раньше, не могли бы вы показать, как инициализировать его для вызова, когда минута проходит? учитывая, что это может быть даже сейчас? и повторение только после? – user2558461
Добавлен еще один, вы сможете рассчитать дату огня (подсказка: 'NSDateComponents'). – Wain
Настройте дату выбор за добытчиком или способом его собственного, и сделать что-то вроде этого, в UITextField делегате
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
UIDatePicker *datePicker = self.datePicker;
datePicker.minimumDate = [NSDate date];
textField.inputView = datePicker;
return YES;
}
Вы меня не совсем поняли, я бы хотел, чтобы uitextfield обновлялось по прошествии времени, поэтому пользователь получит правильное значение, даже если он не нажимает на uitextfield – user2558461
Ah ok. Ну, вы можете настроить таймер, который обновляет UIDatePicker напрямую, если вы оставите указатель для него где-нибудь, но я бы подумал о том, хотите ли вы на самом деле сделать это. –
Я бы не рекомендовал постоянно обновлять представление, которое пользователь должен сам манипулировать. Пусть они выбирают и проверяют, что они выбрали, потом. –
- 1. NSTimer UIDatePicker, занимающийся только временем
- 2. найти медиану с минимальным временем в массиве
- 3. MySql - создать репликацию с минимальным временем простоя
- 4. Экран загрузки jQuery с минимальным временем просмотра
- 5. Сортировка с датой и минимальным временем в R
- 6. Pythonic Approach: поиск первого пути соответствия с минимальным временем выполнения
- 7. Как запустить таблицу OPTIMIZE с минимальным временем простоя
- 8. Как загружать все контакты с минимальным временем в Android
- 9. Обновите базу данных readonly с минимальным временем простоя
- 10. Как свалить кучу в окнах с минимальным временем простоя?
- 11. Обновление модуля ядра с минимальным временем простоя и без перезагрузки
- 12. как выполнить запрос выбора sql с минимальным временем выполнения
- 13. SQL Server: как уменьшить ширину столбца с минимальным временем простоя
- 14. Перенастройка Redis на AWS Elasticache с минимальным временем простоя
- 15. Получить строку с минимальным дат-временем по запросу LINQ
- 16. Сделать UIDatePicker появляется со временем, когда статический UITableViewCell сливает
- 17. UIDatePicker: Minimum Date
- 18. UIDatePicker time
- 19. найти все уникальные триплеты в заданном массиве с нулевой суммой с минимальным временем выполнения
- 20. UIDatePicker выбор времени вопроса
- 21. Результат UIDatePicker to dateByAddingTimeInterval
- 22. Невозможно скрыть UIDatePicker
- 23. UIDatePicker с «сделал» кнопку
- 24. Обновление UILabel с UIDatePicker
- 25. UITableView с UIDatePicker?
- 26. Получите время с UIDatePicker
- 27. Проблема с UIDatePicker
- 28. ИОС UIDatePicker с presentModalViewController
- 29. UIDatePicker с UIToolbar
- 30. UIDatePicker с одной строкой
Что это за? Если дата в прошлом, вы можете просто перейти на текущую дату, когда пользователь запускает? – Wain
Я хочу, чтобы текстовое поле сохранялось в синхронизации, если текущее время после установленного времени – user2558461