繁体   English   中英

Swift:如何在模式设置为仅时间的情况下调整日期选择器的宽度

[英]Swift: How to adjust width of Date Picker with mode set to Time Only

日期选择器组件右侧似乎有一些浪费的空间:

在此处输入图片说明

增加或减少其框架的宽度/高度值都没有关系; 它保持标准尺寸。

    let datePicker = UIDatePicker(frame: CGRect(x: 20, y: 100, width: 500, height: 200))
    datePicker.datePickerMode = .date
    view.addSubview(datePicker)
    

我的问题是,可以调整吗?

编辑:所以我设法找到了它的简短形式,但这只能通过故事板添加。

这是视图:

在此处输入图片说明

第一个选择器以编程方式添加,第二个选择器通过故事板添加。 出于某种原因,我无法使以编程方式创建的选择器变小...

您可以询问日期选择器哪个尺寸就足够了;)

选项 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)

您可以在 IB 中将宽度更改为 ~135,例如:

在此处输入图片说明

        datePickerOutlet.datePickerMode = .date
        datePickerOutlet.preferredDatePickerStyle = .compact

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM