Центр выбора в представлении, когда .labelsHidden () - PullRequest
1 голос
/ 03 ноября 2019

Я показываю SwiftUI DatePicker с datePickerStyle типа WheelDatePickerStyle (). Он находится внутри раздела, который находится внутри формы. Поскольку я показываю заголовок раздела, я не хочу показывать ярлык сборщика. Однако при выборе .labelsHidden () средство выбора просто перемещается влево и оставляет некоторое пространство слева.

Как я могу либо отцентрировать сборщик, либо убедиться, что он занимает всю ширину раздела / формы?

DatePicker("Please enter a time", selection: $time, displayedComponents: .hourAndMinute)
    .labelsHidden()
    .datePickerStyle(WheelDatePickerStyle())

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019
DatePicker("Please enter a time", selection: $time, displayedComponents: .hourAndMinute)
    .labelsHidden()
    .datePickerStyle(WheelDatePickerStyle())
    .frame(minWidth: 0, maxWidth: .infinity, alignment: .center)
0 голосов
/ 03 ноября 2019

Вам не нужен ярлык. Точно так же:

   DatePicker("", selection: $time, displayedComponents: .hourAndMinute)
    // .labelsHidden()
    .datePickerStyle(WheelDatePickerStyle())

Другой простой способ - использовать HStack с Spacer() с обеих сторон.

HStack{
    Spacer()
    DatePicker.init(selection: $time, displayedComponents: .hourAndMinute, label: {
        EmptyView()
        })
        .labelsHidden().datePickerStyle(WheelDatePickerStyle())
    Spacer()
    }
...