Leonif
12/14/2018 - 2:14 PM

Serach Bar Customization

extension UISearchBar {
    var textField: UITextField {
        guard let tf = (value(forKey: "searchField") as? UITextField) else { fatalError() }
        return tf
    }

    func addToolBar() {
        //Add done button to numeric pad keyboard
        let toolbarDone = UIToolbar.init()
        toolbarDone.sizeToFit()
        let flex = UIBarButtonItem.init(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace,
                                        target: self, action: nil)
        let barBtnDone = UIBarButtonItem.init(barButtonSystemItem: UIBarButtonSystemItem.done,
                                              target: self, action: #selector(numDonePressed))

        toolbarDone.items = [flex, barBtnDone] // You can even add cancel button too
        self.inputAccessoryView = toolbarDone
    }

    @objc
    func numDonePressed() {
        self.resignFirstResponder()
    }
}