使用 UIDatePicker 更新 UILabel

Update UILabel with UIDatePicker

有谁知道如何用 UIDatePicker 更新 UILabel

我刚在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
}

您需要为您的标签添加一个出口,然后只需在您的 updateView 方法中添加代码来设置标签的文本以及您的文本字段的文本。 (您可能应该重构它以首先将日期存储到字符串中,然后将该字符串分配给您的文本字段和标签。)

func textFieldDidEndEditing(textField: UITextField) {
    label.text = textField.text
}