编写一个UIDate Picker,使其固定在Swift的屏幕底部

ch

我试图将UIDatePicker添加到一组已经存在的文本字段中。即使尝试了我在StackOverflow上看到的所有解决方案,我也无法将UI日期选择器设置在屏幕底部。我正在使用MVVM模型,并且创建了一个单独的文件来创建Picker视图。

class UAFieldDatePickerView: UIStackView {....}

extension UAFieldDatePickerView {
    @objc private func didTapDateView() {
        guard viewModel.state.value != .disabled else {
            return
        }
        let datePicker = UIDatePicker()
        datePicker.frame = CGRect(x: 0, y: UIScreen.main.bounds.height - 200, width: self.frame.size.width, height: 200)
        datePicker.backgroundColor = UIColor.UANeutralGray05
        datePicker.datePickerMode = .date
        datePicker.date = Calendar.current.date(byAdding: .day, value: -1, to: Date())!
        datePicker.addTarget(self, action: #selector(datePickerValueChanged(_:)), for: .valueChanged)
        self.addSubview(datePicker)
    }

    @objc func datePickerValueChanged(_ datePicker: UIDatePicker) {
        datePicker.maximumDate = Date()
    }
}

我面临的问题是无法将DatePicker固定到屏幕底部。我将如何确保框架始终固定在底部。

卡列布

UIDatePicker从继承UIControl,这意味着它也是的子类UIView,并且遵循与其他任何视图相同的规则。如果要将日期选择器放在屏幕底部,则需要将其放置在屏幕底部。

datePicker.frame = CGRect(x: 0, y: UIScreen.main.bounds.height - 200, width: self.frame.size.width, height: 200)

在这里,您将日期选择器的垂直位置设置为屏幕高度减去选择器的高度。但是,您没有将选择器添加到屏幕,而是将其添加到self如果希望将选择器放置在要添加选择器的视图的底部,则应该基于该视图而不是基于可能具有或具有相同大小的其他对象来计算高度。由于您要将选择器添加到中self,因此可self.bounds.size.height用于计算位置:

datePicker.frame = CGRect(x: 0, y: self.bounds.size.height - 200, width: self.bounds.size.width, height: 200)

如果希望选择器位于屏幕的底部,请采取步骤以确保包含它的视图位于屏幕底部,或者以其他方式显示选择器。CZ54在评论中建议将选择器用作输入视图,这是一个很好的建议;执行类似操作的更通用方法是从屏幕底部模态显示日期选择器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我想将页脚固定在内容的底部(而不是屏幕),以便将其全部放在一个div中吗?有任何想法吗?

来自分类Dev

创建一个布局,其中视图固定在ImageView的底部(但也堆叠在顶部)

来自分类Dev

使元素固定在屏幕底部

来自分类Dev

如何在Swift中编写一个flip方法?

来自分类Dev

如何编写一个以元组为参数的swift函数?

来自分类Dev

如何在Swift中编写一个flip方法?

来自分类Dev

将ListView的最后一个元素固定到屏幕底部

来自分类Dev

在屏幕底部放置一个div

来自分类Dev

GADBannerView固定在UITableViewController屏幕底部

来自分类Dev

编写一个函数,使其可以应用于网格

来自分类Dev

如何编写一个返回三种类型之一的swift函数?

来自分类Dev

我如何编写一个Behat步骤来捕获屏幕截图或HTML页面?

来自分类Dev

如何编写一个始终位于屏幕中心并触及较短边缘的正方形?

来自分类Dev

如何在Swift中为私有枚举编写一个相等的方法

来自分类Dev

Swift-如何编写一个按钮以进入mainScene,而没有回退?

来自分类Dev

Swift 编写一个带有返回值的 async/await 方法

来自分类Dev

试图在 Swift 中编写一个可编码的类,但它的格式不正确?

来自分类Dev

我如何将一个内部div固定在外部div的底部,以便在外部div展开时移动

来自分类Dev

如何编写一个初始化程序,使其仅在正确设置数据库后才能运行?

来自分类Dev

BootstrapVue:创建2个导航条,底部导航条是否固定在顶部?

来自分类Dev

我该如何编写一个函数,该函数的行为取决于在变压器堆栈底部的monad

来自分类Dev

底部粘性菜单滚动第一个屏幕

来自分类Dev

缩小时无法将页脚固定在屏幕底部

来自分类Dev

试图使div粘在另一个居中的div的一侧并固定在一个位置

来自分类Dev

有没有一种方法可以使材料ui抽屉固定高度(并固定在底部)

来自分类Dev

编写一个递归函数,它将计算从1到n的所有数字的总和-swift

来自分类Dev

如何将一个div左移到另一个div并固定在主体上?

来自分类Dev

Div,固定在底部,固定在顶部

来自分类Dev

UIDate Picker valuechanged不会更新第一次旋转,但每次更新之后都会更新。

Related 相关文章

  1. 1

    我想将页脚固定在内容的底部(而不是屏幕),以便将其全部放在一个div中吗?有任何想法吗?

  2. 2

    创建一个布局,其中视图固定在ImageView的底部(但也堆叠在顶部)

  3. 3

    使元素固定在屏幕底部

  4. 4

    如何在Swift中编写一个flip方法?

  5. 5

    如何编写一个以元组为参数的swift函数?

  6. 6

    如何在Swift中编写一个flip方法?

  7. 7

    将ListView的最后一个元素固定到屏幕底部

  8. 8

    在屏幕底部放置一个div

  9. 9

    GADBannerView固定在UITableViewController屏幕底部

  10. 10

    编写一个函数,使其可以应用于网格

  11. 11

    如何编写一个返回三种类型之一的swift函数?

  12. 12

    我如何编写一个Behat步骤来捕获屏幕截图或HTML页面?

  13. 13

    如何编写一个始终位于屏幕中心并触及较短边缘的正方形?

  14. 14

    如何在Swift中为私有枚举编写一个相等的方法

  15. 15

    Swift-如何编写一个按钮以进入mainScene,而没有回退?

  16. 16

    Swift 编写一个带有返回值的 async/await 方法

  17. 17

    试图在 Swift 中编写一个可编码的类,但它的格式不正确?

  18. 18

    我如何将一个内部div固定在外部div的底部,以便在外部div展开时移动

  19. 19

    如何编写一个初始化程序,使其仅在正确设置数据库后才能运行?

  20. 20

    BootstrapVue:创建2个导航条,底部导航条是否固定在顶部?

  21. 21

    我该如何编写一个函数,该函数的行为取决于在变压器堆栈底部的monad

  22. 22

    底部粘性菜单滚动第一个屏幕

  23. 23

    缩小时无法将页脚固定在屏幕底部

  24. 24

    试图使div粘在另一个居中的div的一侧并固定在一个位置

  25. 25

    有没有一种方法可以使材料ui抽屉固定高度(并固定在底部)

  26. 26

    编写一个递归函数,它将计算从1到n的所有数字的总和-swift

  27. 27

    如何将一个div左移到另一个div并固定在主体上?

  28. 28

    Div,固定在底部,固定在顶部

  29. 29

    UIDate Picker valuechanged不会更新第一次旋转,但每次更新之后都会更新。

热门标签

归档