Создать datepicker с выбором промежутка по датам

Как мне создать кнопку с переходом на следующий datepicker, чтобы в итоге в TextField отображался выбранный промежуток по дате?

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения


Ответы (1 шт):

Автор решения: DmitriyLeaf

Если в общем один из вариантов логики:

При нажатии на кнопку дальше можно подставить новый datepicker или использовать тот же но занулить дату. Например:

  1. Выбираем начальную дату
  2. Нажимаем кнопку дальше
  3. Запоминаем начальную дату в переменную и скидываем дату в datepicker или показываем новый datepicker
  4. Выбираем вторую дату
  5. Жмем кнопку готово
  6. Запоминаем в переменную дату конца

Таким образом у нас получаеться 2 даты, например:

var startDate: Date
var endDate: Date

А дальше просто записываем в TextField отформатированные две даты, например:

myTextField.text = startDate.getStr() + " - " + endDate.getStr()

// Расширение что бы удобно и быстро брать с Date строковое представление
extension Date {
    func getStr(format: String = "d MMM y") -> String {
        let formatter3 = DateFormatter()
        formatter3.dateFormat = format
        return formatter3.string(from: self)
    }
}

Если что-то непонятно, спрашивай ;)

→ Ссылка