代码之家  ›  专栏  ›  技术社区  ›  gkhanacer

如何将目标添加到键盘“完成”/“转到”/“搜索”按钮?

  •  0
  • gkhanacer  · 技术社区  · 6 年前

    我想给键盘上的按钮附加一个动作。我不想创建自定义键盘,只处理搜索/执行/完成按钮操作。

    enter image description here

    2 回复  |  直到 4 年前
        1
  •  4
  •   Abdelahad Darwish    6 年前

    要处理返回键,请使用delegate textFieldShouldReturn

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
             // your Action According to your textfield
            return true
        }
    

    如何更改返回键

    yourTextField.returnKeyType = UIReturnKeyType.search
    yourTextField.returnKeyType = UIReturnKeyType.done
    

    Apple枚举:

    typedef NS_ENUM(NSInteger, UIReturnKeyType) {
        UIReturnKeyDefault,
        UIReturnKeyGo,
        UIReturnKeyGoogle,
        UIReturnKeyJoin,
        UIReturnKeyNext,
        UIReturnKeyRoute,
        UIReturnKeySearch,
        UIReturnKeySend,
        UIReturnKeyYahoo,
        UIReturnKeyDone,
        UIReturnKeyEmergencyCall,
        UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0),
    }
    
        2
  •  2
  •   Arnab    6 年前

    实施 UITextFieldDelegate 方法 textFieldShouldReturn 获取那个按钮点击事件,不管按钮的名称。

    class YourViewController: UIViewController, UITextFieldDelegate {
        //conform protocol of `UITextFieldDelegate` in any of `viewDidLoad` or `viewWillAppear` method
        self.textFieldYouWantToHandle.delegate = self;
    
        func textFieldShouldReturn(_ textField: UITextField) -> Bool {
            if textField == textFieldYouWantToHandle {
               //any task to perform
               textField.resignFirstResponder() //if you want to dismiss your keyboard
            }
            return true
        }
    }