Есть ли вид, похожий на NSDatePicker
для OS X, но для выбора продолжительности (т. Е. Часов, минут и секунд), а не целых дат. Поиск Google не принес ничего полезного, и мне еще не удалось настроить NSDatePicker
, чтобы быть подходящим только для продолжительности - мои попытки не работают должным образом с 12-часовыми (AM и PM) режимами времени и разными часовыми поясами.AppKit: Duration Picker View
ответ
Я не думаю, что есть готовое решение, но не должно быть сложно сделать свой собственный с 3 полями без полей и несколькими ярлыками с двоеточиями в них, все внутри NSBox с шагером рядом с ним.
Я думаю, что нашел способ, который работает с сборщиком NSDate. Я не уверен, почему некоторые из них работают, но, похоже, необходимо установить локаль где-нибудь, где используются 24-часовые часы, такие как Япония, и установите календарь для сборщика. Единственный «глюк», который я вижу, заключается в том, что при вводе некоторых 1-значных чисел происходит немного задержки (это то, что Apple изменилось в OS X 10.5. Я думаю, что редактор ждет, чтобы увидеть, хотите ли вы добавить вторую цифра). Тем не менее, вы можете получить его для немедленного обновления путем внесения вкладок из поля или щелчка в другом поле. Так вот установка:
self.picker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
self.cal = [NSCalendar currentCalendar];
self.cal.timeZone = [NSTimeZone timeZoneWithName:@"GMT"];
self.picker.calendar = self.cal;
self.picker.timeZone = cal.timeZone;
А вот метод действия для подборщика:
-(IBAction)dpClick:(NSDatePicker *)sender {
NSDateComponents *comps = [cal components:NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit fromDate:sender.objectValue];
NSLog(@"hours=%ld minutes=%ld seconds=%ld",comps.hour,comps.minute,comps.second);
}
Это решение работает. Благодаря! – MrMage
Вы можете использовать -[NSDatePicker setDatePickerElements:]
method, чтобы настроить сборщик дат только для отображения временной части даты.
Да, но он по-прежнему ведет себя странно в некоторых случаях из-за часовых поясов и настроек AM/PM ... – MrMage
- 1. IPad View Rotation Duration
- 2. UITableViewController with picker view
- 3. Picker view as subview
- 4. picker view cocos2d
- 5. Компоненты Picker View
- 6. Picker View Swift
- 7. HTML date picker view
- 8. Picker View вытесняет объекты
- 9. Date Picker Layout View
- 10. Date Picker And Table View
- 11. Swift Contact Picker Detail View
- 12. Ошибка в отношении Picker View
- 13. Изменение цвета фона Picker View
- 14. Использование Picker View для навигации?
- 15. Pinpoint duration duration
- 16. nsurlconnection in picker view in iOS
- 17. Использование Picker View - концепция setter, getter confusion
- 18. picker view empty после ответа в iOS
- 19. Picker View и текстовые поля numberOfRowsInSection
- 20. Изменение цвета фона клавиатуры замененного Picker View
- 21. Picker View crash при прокрутке вниз
- 22. Ui Picker view error can not resolve
- 23. Custom Picker View для iOS 6.1
- 24. Заполнение данных по UIlabel через picker View
- 25. Swift - pop up view, date picker?
- 26. Обновить компонент в UI Picker View Swift
- 27. Picker View для действия кнопки get crashed
- 28. Android Calendar View for Date Picker
- 29. Activity Picker for Web View in Swift
- 30. Связанные проблемы с AppKit
Когда вы говорите длительности, вы имеете в виду, что вы хотите, скажем, 10:30:05, означает 10 часы 30 минут и 5 секунд, а не время 10:30:05? Какой диапазон значений вы хотите, например, хотите ли вы установить часы на двойные цифры, тройные цифры? – rdelmar
Да, это то, что я имею в виду с продолжительностью. Достаточно одного разряда. Если вы можете привести пример, чтобы настроить 'NSDatePicker', чтобы вести себя так (без глюков!), Этого было бы достаточно. – MrMage
См. Мой отредактированный ответ – rdelmar