Swift UIDatePicker для ввода текстового поля – как заставить UIDatePicker исчезнуть?

Это моя первая попытка Swift или приложения для iPhone, поэтому нет нужды говорить, что я не уверен, как сделать много вещей на этом этапе.

Прямо сейчас у меня есть контроллер вида с текстовым полем и кнопкой. Мне удалось найти пример кода, чтобы почти выполнить то, что мне нужно. Я хотел бы сделать следующее:

  1. Когда я нажимаю текстовое поле, на экране появляется экран UIDatePicker.
  2. Установите переключатель UIDate для отображения только времени, а не даты.
  3. Поместите выбранное время UIDatePicker в текстовое поле.
  4. Удалите UIDatePicker, когда я нажимаю кнопку.

Работает от 1 до 3. Но я не могу понять, как заставить UIDatePicker уйти и все же вернуться на экран, если я снова щелкнул текстовое поле.

import UIKit class ViewController: UIViewController { @IBOutlet weak var dateField: UITextField! @IBAction func dateField(sender: UITextField) { var datePickerView : UIDatePicker = UIDatePicker() datePickerView.datePickerMode = UIDatePickerMode.Time sender.inputView = datePickerView datePickerView.addTarget(self, action: Selector("handleDatePicker:"), forControlEvents: UIControlEvents.ValueChanged) } @IBAction func DoneButton(sender: UIButton) { //How to make datepicker disappear??? } func handleDatePicker(sender: UIDatePicker) { var timeFormatter = NSDateFormatter() timeFormatter.dateStyle = .NoStyle timeFormatter.timeStyle = .ShortStyle dateField.text = timeFormatter.stringFromDate(sender.date) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } } 

2 Solutions collect form web for “Swift UIDatePicker для ввода текстового поля – как заставить UIDatePicker исчезнуть?”

Вы вызываете resignFirstResponder в текстовое поле:

 @IBAction func DoneButton(sender: UIButton) { dateField.resignFirstResponder() } 

Кроме того, неплохо иметь метод и свойство с тем же именем – не уверен в том, что там есть приоритет, но, скорее всего, в какой-то момент это может сбить с толку.

Вы также можете создать выход для datePicker. @IBOutlet слабый var datePicker: UIPickerView!

то в вашей функции

 @IBAction func DoneButton(sender: UIButton) { datePicker.hidden = true } 
  • Параметр Pass для параметра UIGestureRecognizer Selector
  • Подпись метода ведения журнала с использованием быстрой
  • Отказ Apple Watch от приложения «Загрузка на белый экран»
  • Ошибка сегментации компилятора Swift после порта Swift 3 / Xcode 8
  • IOS: как получить идентификатор песни с помощью echonest Api
  • replaykit startrecording иногда никогда не входит в обработчик завершения
  • разница между переопределением init и требуемым init? - быстрый
  • Как определить, когда высота клавиатуры обновляется?
  • FBSDKAccessToken.currentAccessToken (). UserID иногда возвращает Nil
  • Использование AlamofireImage внутри UITableViewCell
  • Swift Cocoa Touch пользовательская ячейка, возвращающая нуль для IBOutlets
  • Interesting Posts

    XCode 8: как изменить целевое семейство устройств

    Как определить угол губ с помощью Opencv в iOS?

    Настройка UIButton

    как я могу выровнять текст моего ярлыка быстрым, чтобы он начинался в верхнем левом углу метки?

    Не удалось поделиться URL-адресом на Facebook и Twitter с помощью UIActivityViewController в iOS 7.1

    JPEG-кодировщик очень медленный, как его оптимизировать?

    Как использовать числовое уведомление «пузырь» в iOS?

    In-App Purchase работает на iPhone, но не iPad

    API Facebook – где создавать экземпляр и как правильно реализовать handleOpenURL

    Добавить значок изображения в строку UIPickerView

    XCode 4, недопустимая подпись (-19011)

    Отражает ли Apple приложения, использующие изображения, используемые в приложениях Apple?

    Изображение центра UIButton с вставкой

    обновление RestKit: loadObjectsAtResourcePath: usingBlock: не сохранять объекты в кеше

    Как получить список имен столбцов с помощью Sqlite.swift?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.