美文网首页
Swift数字键盘显示完成按钮

Swift数字键盘显示完成按钮

作者: 向日葵的夏天_summer | 来源:发表于2017-12-27 17:27 被阅读0次
效果图:
image.png
实现步骤:

给textField添加一个UIToolBar,作为inputAccessoryView

private var TextFieldToolBarParamKey = "TextFieldToolBarParamKey"
extension UITextField {

var toolBar: UIToolbar? {
    
    set(toolBar) {
        objc_setAssociatedObject(self, &TextFieldToolBarParamKey, toolBar, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
    }
    get {
        return objc_getAssociatedObject(self, &TextFieldToolBarParamKey) as? UIToolbar
    }
}

func showToolBar() {
    setupToolBar()
    self.inputAccessoryView = toolBar
}

func setupToolBar() {
    toolBar = UIToolbar()
    
    //可以让UIBarButtonItem靠右显示
    let spaceItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
    let doneItem = UIBarButtonItem(title: "完成", style: .plain, target: self, action: #selector(doneItemDidClick))
    
    toolBar?.sizeToFit()
    toolBar?.items = [spaceItem, doneItem]
}

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

相关文章

网友评论

      本文标题:Swift数字键盘显示完成按钮

      本文链接:https://www.haomeiwen.com/subject/cxougxtx.html