#ios #swift #user-interface #uidatepicker
#iOS #swift #пользовательский интерфейс #uidatepicker
Вопрос:
Кажется, что справа от компонента средства выбора даты есть пустое место:
И не имеет значения, увеличиваю я или уменьшаю значение ширины / высоты его рамки; он остается стандартного размера.
let datePicker = UIDatePicker(frame: CGRect(x: 20, y: 100, width: 500, height: 200))
datePicker.datePickerMode = .date
view.addSubview(datePicker)
Мой вопрос в том, можно ли его настроить?
редактировать: Итак, мне удалось найти его короткую форму, но ее можно добавить только через раскадровку.
Вот вид:
Первый верхний сборщик добавляется программно, а второй — через раскадровку. По какой-то причине я не могу уменьшить размер программно созданного средства выбора…
Ответ №1:
Вы можете просто спросить средство выбора даты, какой размер достаточен 😉
Вариант A
let datePicker = UIDatePicker()
datePicker.datePickerMode = .date
// Let it size itself to its preferred size
datePicker.sizeToFit()
// Set the frame without changing the size
datePicker.frame = .init(x: 20, y: 100, width: datePicker.bounds.size.width, height: datePicker.bounds.size.height)
view.addSubview(datePicker)
Вариант B
let datePicker = UIDatePicker()
datePicker.datePickerMode = .date
// Ask the picker for its preferred size
let datePickerPreferredSize = datePicker.systemLayoutSizeFitting(view.bounds.size)
// Set the frame using that size
datePicker.frame = .init(x: 20, y: 100, width: datePickerPreferredSize.width, height: datePickerPreferredSize.height)
view.addSubview(datePicker)