gpt4 book ai didi

ios - 使用全局函数添加键盘完成按钮

转载 作者:搜寻专家 更新时间:2023-11-01 06:25:49 24 4
gpt4 key购买 nike

我想弄清楚如何创建一个全局函数,为我选择的键盘添加一个完成按钮。

我可以添加一个完成按钮,但我目前将代码复制到每个 View Controller 。我想向 UITextField 添加一个函数以在键盘上显示完成按钮。堆栈溢出时常见的当前代码。

在 viewDidLoad 中找到的代码:

let toolbar = UIToolbar()
toolbar.sizeToFit()
let doneBotton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.done, target: self, action: #selector(self.doneClicked))

toolbar.setItems([doneBotton], animated: false)

@objc 在 vi​​ewdidload 之外发现:

@objc func doneClicked() {
view.endEditing(true)
}

最佳答案

您可以像下面这样简单地创建 UITextField 的扩展:-

extension UITextField {

func addDoneButton() {
let toolbar = UIToolbar()
toolbar.sizeToFit()

let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(doneClicked))

toolbar.setItems([doneButton], animated: false)

self.inputAccessoryView = toolbar
}

@objc func doneClicked() {
self.endEditing(true)
}
}

然后像下面这样调用它:-

class DoneKeyboardViewController: UIViewController {

@IBOutlet weak var txtField: UITextField!

override func viewDidLoad() {
super.viewDidLoad()

txtField.addDoneButton()
}
}

关于ios - 使用全局函数添加键盘完成按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55054907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com