Как быстро создать и создать подкласс пользовательского UIPickerView, который показывает только дату?

В Swift, как создать собственное представление выбора с помощью подкласса UPickerView, чтобы он отображал только средство выбора даты? Не удалось найти ответ на это. Любая помощь приветствуется.


person coolly    schedule 29.05.2016    source источник
comment
вам не нужно создавать подкласс для этого, создайте объект UIDatePicker, установите для его свойства datePickerMode значение UIDatePickerModeDate, и он покажет только date.ex. _datePicker.datePickerMode = UIDatePickerModeDate;   -  person Sanman    schedule 29.05.2016
comment
Есть разные места, где мне нужно создать один и тот же вид выбора с датой, поэтому я не хочу устанавливать режим везде   -  person coolly    schedule 29.05.2016


Ответы (2)


Надеюсь, что это поможет вам:

class CustomPicker: UIDatePicker {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.datePickerMode = .Date

    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

Создайте экземпляр следующим образом:

let picker = CustomPicker(frame: CGRectMake(10, 20, 200, 200))

Я установил рамку для демонстрационных целей.

person Muzahid    schedule 29.05.2016
comment
чтобы переопределить другие свойства, мне нужно назначить в конструкторе инициализации? - person coolly; 29.05.2016
comment
да. Вы можете сделать первоначальную настройку в конструкторе инициализации. - person Muzahid; 29.05.2016

чтобы иметь возможность создавать сборщик из кода И раскадровки, вы должны переопределить оба инициализатора следующим образом:

class DatePicker: UIDatePicker {
    override init(frame: CGRect) {
        super.init(frame: frame)
        sharedInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        sharedInit()
    }

    private func sharedInit() {
        datePickerMode = .Date
    }
}
person André Slotta    schedule 29.05.2016