Leaving inputAccessoryView visible after keyboard is dismissed

前端 未结 5 1835
-上瘾入骨i
-上瘾入骨i 2020-12-13 09:24

What I\'m trying to do is to create something similar to the \"find on page\" search function in Safari on iPad.

I\'m using a UIToolbar with some items

5条回答
  •  爱一瞬间的悲伤
    2020-12-13 10:12

    Update to Swift 4, based on prior answers. If you add toolbar via storyboards you can do this

    class ViewController: UIViewController {
    
        @IBOutlet weak var textField: UITextField!
        @IBOutlet var toolbar: UIToolbar!
    
        override var canBecomeFirstResponder: Bool {
            get {
                return true
            }
        }
    
        override var inputAccessoryView: UIView {
            get {
                return self.toolbar
            }
        }
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            textField.inputAccessoryView = toolbar
        }
    }
    

    In this case, whenever text field resigns first responder, it defaults first responder to main view. Keep in mind, you might want to explicitly resign first responder, and set main view as first responder if there are multiple UI elements and first responder defaults to undesired view after resignation.

提交回复
热议问题