Search code examples
swiftdatepickertextfield

keyboard show when selected time tapped long in datePicker(iPad)


In Swift, keyboard show when selected time(center time) tapped long in datePicker in UITableView Cell. I want to hide keyboard on long tap, so please tell me how to write

the problem is below

Problem Image

I tried below code that create datePicker and set textField.inputView. To write textField.inputAssistantItem.trailingBarButtonGroups.removeAll() and textField.inputAssistantItem.leadingBarButtonGroups.removeAll(), in ViewController keyboard don't show on long tap, but show in UITableViewCell.

datePicker.datePickerMode = .dateAndTime
datePicker.locale = Locale(identifier: "en")
datePicker.calendar = NSCalendar.current
datePicker.preferredDatePickerStyle = .wheels

textField.delegate = self
textField.inputView = datePicker
textField.inputAssistantItem.trailingBarButtonGroups.removeAll()
textField.inputAssistantItem.leadingBarButtonGroups.removeAll()
textField.tintColor = UIColor.clear

I tried codes that textField.inputView?.inputAssistantItem.trailingBarButtonGroups.removeAll() and textField.inputView?.inputAssistantItem.leadingBarButtonGroups.removeAll(), but problem did't solve.


Solution

  • I solved. I add code below when set up UIDatePicker.

    datePicker.rx.controlEvent(.editingDidBegin)
        .subsribe { _ in
            self.datePicker.resignFirstResponser()
        }