Я добавляю форму входа в систему под UIAlertController, чтобы получить некоторые XML-данные с веб-страницы. Мне нужно ввести имя пользователя, пароль и дату. Для этого я добавляю 3 текстовых поля к экземпляру UIAlertController, используя метод .addTextFieldWithConfigurationHandler. В одном из них я изменяю представление ввода как UIDatePicker. Дело в том, что мне нужно добавить UIToolBar с элементом UIBarButton, чтобы сделать кнопку «Готово», чтобы завершить ввод. Все сделано хорошо, за исключением того, что я не могу получить доступ к функции showSelectedDate() (функция никогда не вызывается), чтобы отклонить inputView и установить свойство UITextField.text с датой. Кнопка есть, но она не используется.Swift: как добавить пользовательский вид ввода в UIAlertController?
Вот мой код.
loginDeCompraMercadoWebAlertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
//Declare my inputView, DatePicker and UIToolBar
let toolBar = UIToolbar(frame: CGRectMake(0, 0, textField.frame.size.width, textField.frame.size.height))
let datePicker = UIDatePicker()
let formatter = NSDateFormatter()
let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "showSelectedDate")
let space = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
toolBar.setItems([doneButton, space], animated: true)
//Setup inputView and placeholders
textField.placeholder = "Fecha de Compra"
textField.inputView = datePicker
textField.inputAccessoryView = toolBar
textField.text = formatter.stringFromDate(datePicker.date)
}
Большое спасибо, и если у вас есть предложения, сообщите мне об этом.
Я новичок (а не полный рабочий день), и если есть какой-либо способ, я могу быть полезным кому-то, пожалуйста, дайте мне знать.
Спасибо, я прочитал тот же учебник по NSHipster. Так я могу это сделать? Добавив наблюдателя в UIBarButtonItem? Все мои подсказки исчезли. Я также пытался добавить UIBarButtonItem в качестве переменной класса, и это было бесполезно. –
Я также добавил их в действие Alert Action, и теперь я не могу отобразить NSDatePicker. –
Я не знаю достаточно о вашей конкретной ситуации, чтобы точно сказать, какое наилучшее решение будет, но я бы рассмотрел использование модального контроллера представлений вместо контрольного контроллера. Это позволит вам добавлять на экран больше элементов и использовать подборщик даты, как вы хотите. –