Как задать диапазон времени в swift3?

Вот фрагмент кода datepicker в swift3 по времени:
var timePicker = UIDatePicker()
@IBOutlet weak var time: UITextField!
func createDatePicker(){
    timePicker.datePickerMode = .time
    
    let toolbar = UIToolbar()
    toolbar.sizeToFit()
    
    let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePressed))
    
    time.inputAccessoryView = toolbar
    time.inputView = timePicker
}
func donePressed(){
    let timeFormatter = DateFormatter()
    timeFormatter.dateFormat = "hh:mm"
    time.text = timeFormatter.string(from: timePicker.date)
    self.view.endEditing(true)
}

В данном datePicker будет время типа 13:45
Хочу задать диапазон времени такие как например 13:00-14:00 но только все это в одном textfield, возможно ли такое реализовать похожим методом?Если нет то каким возможно?
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
maximglobak
@maximglobak
iOS developer
Почему бы не посмотреть как это сделало Apple. Например похожий функционал есть календаре и у них для этого два покера (начало и конец). Можно конечно сделать один кастомные пикер для подбора двух дат, но есть ли в этом смысл? Удобно ли будет пользователю?
Любое нестандартное решение требует объяснений. Но если совсем иначе никак, то можно сделать две кнопки через дефис и по каждому клику кнопки показывать дата пикер и потом присваивать заголовок кнопке в виде нужной даты. Тогда ячейка будет выглядеть следующим образов
——————
Время проведения мероприятия (начало) - (конец)
——————
После выполнения всех операций
——————
Время проведения мероприятия ( 13:30 ) - ( 14:00 )
——————
Кнопки отдельно лучше подсветить как кнопка "Загрузки" в новом AppStore
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы