设置下一个按钮和完成按钮,而不是在键盘 swift 4 中返回
Posted
技术标签:
【中文标题】设置下一个按钮和完成按钮,而不是在键盘 swift 4 中返回【英文标题】:set next Button & Done Button instead of return in keyboard swift 4 【发布时间】:2018-10-30 10:24:55 【问题描述】:https://i.stack.imgur.com/yNZh1.gif
当键盘出现在工具栏中时,我需要下一个按钮、上一个按钮和完成按钮 我已经实现了这段代码...
导入 UIKit
类 ViewController: UIViewController,UITextFieldDelegate
@IBOutlet weak var textfieldOne: UITextField!
@IBOutlet weak var textFieldTwo: UITextField!
@IBOutlet weak var textFieldThree: UITextField!
override func viewDidLoad()
super.viewDidLoad()
func setAccessoryViewFor(textField : UITextField)
let toolBar = UIToolbar()
toolBar.barStyle = .default
toolBar.isTranslucent = true
toolBar.sizeToFit()
// Adds the buttons
// Add previousButton
let prevButton = UIBarButtonItem(title: "<", style: .plain, target: self, action: #selector(previousPressed(sender:)))
prevButton.tag = textField.tag
if getPreviousResponderFor(tag: textField.tag) == nil
prevButton.isEnabled = false
// Add nextButton
let nextButton = UIBarButtonItem(title: ">", style: .plain, target: self, action: #selector(nextPressed(sender:)))
nextButton.tag = textField.tag
if getNextResponderFor(tag: textField.tag) == nil
nextButton.title = "Done"
let spaceButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
toolBar.setItems([prevButton,spaceButton,nextButton], animated: false)
toolBar.isUserInteractionEnabled = true
textField.inputAccessoryView = toolBar
@objc func nextPressed(sender : UIBarButtonItem)
if let nextResponder = getNextResponderFor(tag: sender.tag)
nextResponder.becomeFirstResponder()
else
self.view.endEditing(true)
@objc func previousPressed(sender : UIBarButtonItem)
if let previousResponder = getPreviousResponderFor(tag : sender.tag)
previousResponder.becomeFirstResponder()
func getNextResponderFor(tag : Int) -> UITextField?
return self.view.viewWithTag(tag + 1) as? UITextField
func getPreviousResponderFor(tag : Int) -> UITextField?
return self.view.viewWithTag(tag - 1) as? UITextField
请任何人帮忙...
【问题讨论】:
【参考方案1】:您可以注册键盘出现/消失事件,并可以在其顶部添加带有next
和back
按钮的UIToolBar
。或者,只需集成 this 库,几行代码就完成了。
【讨论】:
以上是关于设置下一个按钮和完成按钮,而不是在键盘 swift 4 中返回的主要内容,如果未能解决你的问题,请参考以下文章