Обновите UILabel с помощью UIDatePicker

Кто-нибудь знает, как обновить 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
}

person Felipe Boechat    schedule 06.12.2015    source источник
comment
Ваш вопрос слишком расплывчатый, чтобы ответить. Что ты хочешь делать? Попросите пользователя выбрать дату в средстве выбора даты и установить строковую версию этой даты в метку?   -  person Duncan C    schedule 07.12.2015
comment
Привет, извините за мой вопрос... У меня есть UITextField с UIDatepicker в качестве InputView, когда пользователь выбирает его, автоматически заполняет UITextField, но я также хочу обновить UILabel..   -  person Felipe Boechat    schedule 07.12.2015
comment
Я обновляю свой пост с некоторыми кодами...   -  person Felipe Boechat    schedule 07.12.2015
comment
Вот как я обновляю UITextField, но понятия не имею, как обновить UILabel...   -  person Felipe Boechat    schedule 07.12.2015
comment
Поэтому опубликуйте код, который у вас есть, и заголовок, который показывает выходы в ваше текстовое поле, и вы пометите. Кроме того, вы используете Swift 2.1? Это бета версия правильно? (В большинстве случаев я не советую использовать предварительные версии инструментов разработчика. Только если у вас есть продукт в магазине приложений или вы разрабатываете приложение, которому требуются определенные функции из бета-версии, я бы рекомендовал использовать бета-инструменты разработки / SDK для вашего разработка.)   -  person Duncan C    schedule 07.12.2015
comment
Возможный дубликат Замена ввода UITextField на UIDatePicker   -  person Stonz2    schedule 07.12.2015


Ответы (1)


Вам нужно добавить выход к вашей метке, а затем просто добавить код в свой метод updateView, который устанавливает текст метки, а также текст вашего текстового поля. (Возможно, вам следует реорганизовать его, чтобы сначала сохранить дату в строке, а затем назначить эту строку как вашему текстовому полю, так и вашей метке.)

person Duncan C    schedule 07.12.2015