如何处理工具栏中的IQKeyboardManager完成按钮操作?

时间:2017-10-26 09:33:25

标签: ios swift iqkeyboardmanager

我是ios的新手我在iqkeyboardmanager工作,我想在IQKeyboardManager中访问完成按钮操作。

6 个答案:

答案 0 :(得分:16)

您可以处理完成,下一个和上一个按钮的点击次数

[textField.keyboardToolbar.previousBarButton setTarget:self action:@selector(previousAction:)];
[textField.keyboardToolbar.nextBarButton setTarget:self action:@selector(nextAction:)];
[textField.keyboardToolbar.doneBarButton setTarget:self action:@selector(doneAction:)];

在swift:

customField.keyboardToolbar.doneBarButton.setTarget(self, action: #selector(doneButtonClicked))

func doneButtonClicked(_ sender: Any) {
        //your code when clicked on done
}

答案 1 :(得分:12)

您可以使用UITextViewDelegate

func textFieldDidEndEditing(_ textField: UITextField) {

 }

答案 2 :(得分:7)

您可以导入

import IQKeyboardManager

在必需的文件中以及之后

vc1Textfield.addDoneOnKeyboard(withTarget: self, action: #selector(doneButtonClicked))

这里vc1Textfield是我的文本字段,下面给出了doneButtonClicked定义:

@objc func doneButtonClicked(_ sender: Any) { }

希望它能帮助某人!!!编码愉快。...

答案 3 :(得分:3)

我将尝试以更方便的方式进行描述:

import IQKeyboardManagerSwift

class EditPostViewCell: UITableViewCell {

   @IBOutlet weak var commentTextView: UITextView!


   override func awakeFromNib() {
      IQKeyboardManager.shared.toolbarDoneBarButtonItemText = "Send Comment"
      commentTextView.delegate = self
   }

   @objc func didPressOnDoneButton() {
      commentTextView.resignFirstResponder()
      sendComment()
   }

}

extension EditPostViewCell: UITextViewDelegate {

   public func textViewDidBeginEditing(_ textView: UITextView) {
      let invocation = IQInvocation(self, #selector(didPressOnDoneButton))
      textView.keyboardToolbar.doneBarButton.invocation = invocation
   }
}

答案 4 :(得分:0)

第一:  import the IQKeyboardManager.h

然后:

[self.textField.keyboardToolbar.doneBarButton setTarget:self action:@selector(doneAction:)];

答案 5 :(得分:0)

xcode 11。 使用代码建立 Action 连接文本字段。

@IBAction func yourName(_ sender: Any){
// Your code
} 

Connections inspector screen