昨天我们已经将新增闹钟的页面做出来了,今天就要把最重要的时间选择器给刻上去,
那我们会用到DatePicker这个元件,直接来实作吧!
一样使用code新增 DatePicker 元件
let datePicker: UIDatePicker = {
let datePicker = UIDatePicker()
return datePicker
}()
接着加入画面中
func setViews() {
self.view.addSubview(datePicker)
}
设定Layout
func setLayouts() {
datePicker.snp.makeConstraints { make in
// 设定DatePicker元件的左边距离画面的左边间隔17
make.trailing.equalTo(self.view).offset(-17)
// 设定DatePicker元件的顶部距离画面的顶部间隔80
make.top.equalTo(self.view).offset(120)
}
}
记得将setViews() & setLayouts() 放入 viewDidLoad()内哦!
override func viewDidLoad() {
super.viewDidLoad()
initView()
setViews()
setLayouts()
setNavigation()
}
执行看看程序吧!
DatePicker确实跑出来了,但外型好像跟Iphone的不太一样?
让我们来改造他一下:
let datePicker: UIDatePicker = {
let datePicker = UIDatePicker()
// DatePicker 只显示时间,不显示日期
datePicker.datePickerMode = .time
// 让DatePicker显示24小时制
datePicker.locale = Locale(identifier: "NL")
// 让DatePicker的样式跟IPhone上一模一样
datePicker.preferredDatePickerStyle = .inline
// 设定DatePicker的文字颜色
datePicker.tintColor = .orange
return datePicker
}()
接着再执行看看~
哇靠!变得有模有样了呢
最後呢,再加个文字让他更像IPhone的闹钟介面~
let timeLabel: UILabel = {
let label = UILabel()
// Label的文字颜色
label.textColor = .white
// Label的内容
label.text = "时间"
return label
}()
一样加入画面
func setViews() {
self.view.addSubview(datePicker)
self.view.addSubview(timeLabel)
}
一样设定Layout
func setLayouts() {
datePicker.snp.makeConstraints { make in
// 设定DatePicker元件的左边距离画面的左边间隔17
make.trailing.equalTo(self.view).offset(-17)
// 设定DatePicker元件的顶部距离画面的顶部间隔80
make.top.equalTo(self.view).offset(120)
}
timeLabel.snp.makeConstraints { make in
// 设定Label元件的顶部与底部皆与datePicker的顶部与底部一致
make.top.bottom.equalTo(datePicker)
// 设定Label元件的左边距离画面的左边间隔17
make.leading.equalTo(self.view).offset(17)
}
}
以上注解中,titleLabel的顶部与底部皆与datePicker的顶部与底部一致,这句话是什麽意思呢?
意思是:titleLabel与datePicker一样高
图解:
所以你的专案应该会如下图所示
明天继续做下面的内容,应该会再使用到TableView哦!
$ curl https://sh.rustup.rs -sSf | sh -- -y 需要 GCC...
今天来了解一下目前整个资料夹架构跟档案设定 移动到Django_project资料夹在powersh...
今天来分享一篇研究,是由Matthew Houde所撰写的《Predicting the Outco...
昨天我们尝试动手刻了一个神经网路,准确度虽然看似很高了,但似乎还有进步的空间,今天我们就来介绍如何优...
ES7:Async、Await async:async 写在函式前面,表示函式是非同步的,回传值是 ...