有谁知道如何使用UILabel
更新UIDatePicker
?
我刚刚在Objective C中看到了这个,我不明白,我是新手。
感谢。
参见我的代码:
@IBOutlet weak var inicioTextField: UITextField!
{
didSet
{
inicioTextField.delegate = self
}
}
// CONFIGURAÇÃO DA DATA DO DATEPICKER
lazy var dateFormatter: NSDateFormatter =
{
let df = NSDateFormatter()
df.dateStyle = .ShortStyle
df.timeStyle = .NoStyle
return df
}()
lazy var datePicker: UIDatePicker =
{
let dp = UIDatePicker()
dp.datePickerMode = .Date
dp.addTarget(self, action: Selector("datePickerValueChanged:"), forControlEvents: .ValueChanged)
return dp
}()
lazy var toolbar: UIToolbar =
{
let tb = UIToolbar()
let flexibleSpace = UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)
let dismissKeyboardButton = UIBarButtonItem(title: "OK", style: .Plain, target: self, action: Selector("dismissKeyboard"))
tb.setItems([flexibleSpace, dismissKeyboardButton, flexibleSpace], animated: false)
tb.sizeToFit()
tb.barStyle = .Default
tb.tintColor = UIColor(red: 220/255, green: 20/255, blue: 60/255, alpha: 1)
return tb
}()
var inicioDate = NSDate()
{
didSet
{
updateView()
}
}
override func viewDidLoad()
{
super.viewDidLoad()
updateView()
}
// CONFIGURAÇÃO DOS DATEPICKER
func datePickerValueChanged(sender: UIDatePicker)
{
inicioDate = datePicker.date
}
private func updateView()
{
inicioTextField.text = dateFormatter.stringFromDate(inicioDate)
}
最后,内部扩展委托:
func textFieldShouldBeginEditing(textField: UITextField) -> Bool
{
textField.inputView = datePicker
textField.inputAccessoryView = toolbar
datePicker.date = inicioDate
return true
}
答案 0 :(得分:0)
您需要在标签上添加插座,然后只需在updateView
方法中添加代码,以设置标签的文字以及文字字段的文字。 (您可能应该重构它以将日期存储到String中,然后将该字符串分配给文本字段和标签。)
答案 1 :(得分:0)
func textFieldDidEndEditing(textField: UITextField) {
label.text = textField.text
}