Как установить UIDatePicker только на месяцы - PullRequest
0 голосов
/ 13 апреля 2019

Можно ли отобразить только месяцы в списке UIDatePicker?

@IBOutlet weak var monthsTextField: UITextField!
private var datePicker : UIDatePicker?

    override func viewDidLoad() {
        super.viewDidLoad()

        datePicker = UIDatePicker()
        datePicker?.datePickerMode = .date
        datePicker?.addTarget(self, action: #selector(HomePageViewController.dateChanged(datePicker: )), for: .valueChanged)

        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(HomePageViewController.viewTapped(gestureRecognizer:)))

        view.addGestureRecognizer(tapGesture)

        monthsTextField.inputView = datePicker
}



@objc func dateChanged(datePicker: UIDatePicker) {

        let dateFormatter = DateFormatter()
        //dateFormatter.dateFormat = "MMMMMd"
        dateFormatter.setLocalizedDateFormatFromTemplate("MMMM")

        monthsTextField.text = dateFormatter.string(from: datePicker.date)
        //view.endEditing(true)

    }

После нажатия на DatePicker в нижней части экрана отобразится список с месяцами / днем ​​/ годом

1 Ответ

0 голосов
/ 13 апреля 2019

UIDatePicker не поддерживает режим, который показывает только месяцы.И такой результат не даст вам Date.Все, что вы знаете, это название месяца или номер.

Чтобы делать то, что вы хотите, вам нужно использовать UIPickerView.Настройте источник данных представления выбора для использования массива названий месяцев, полученных из:

let monthNames = Calendar(identifier: .gregorian).monthSymbols
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...