【问题标题】:UIDatePicker Click done and display textUIDatePicker 点击完成并显示文本
【发布时间】:2017-12-05 07:06:55
【问题描述】:
我想在 UIPicker 弹出窗口后获取日期并立即单击完成按钮以在“dobTxt.text”上显示日期而不滚动并从 UIDatePicker 中选择日期。怎么做?
func doneBtnForDate(){
if (dobTxt.text == "Please select your DOB"){
//let selectedDate = How to get picker date without scroll it?
dobTxt.text = selectedDate
}
picker.isHidden = true
toolBar2.isHidden = true
datePicker.isHidden = true
}
【问题讨论】:
标签:
ios
swift
uidatepicker
【解决方案1】:
如下更改您的doneBtnForDate
func doneBtnForDate(){
if (dobTxt.text == "Please select your DOB"){
//let selectedDate = How to get picker date without scroll it?
dobTxt.text = selectedDate
}
// IF you want to change date formatting then you need to change in "DateFormatter" below
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
dateFormatter.timeStyle = .full
let strDate = dateFormatter.string(from: yourPicker.date)
dobTxt.text = strDate
picker.isHidden = true
toolBar2.isHidden = true
datePicker.isHidden = true
}
【解决方案2】:
这是它的目标 c 代码。
[datepicker addTarget:self action:@selector(DateChange:)
forControlEvents:UIControlEventValueChanged];
//method for change date
- (void)DateChange:(id)sender
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
label.text = [dateFormatter stringFromDate:datepicker.date];
date.text=strDate;
}
【解决方案3】:
你能在viewDidLoad方法中设置dobTxt.inputView = picker吗
它对我来说很好用。希望对你有帮助。
【解决方案4】:
请试试这个:
func doneBtnForDate()
{
if (dobTxt.text == "Please select your DOB")
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
dobTxt.text = dateFormatter.string(from: datePicker.date)
}
picker.isHidden = true
toolBar2.isHidden = true
datePicker.isHidden = true
}