iOS 轻按即可关闭键盘

示例

如果您想通过在键盘外部轻按来隐藏键盘,则可以使用此技巧(仅适用于Objective-C):

- (void)viewDidLoad {
    [super viewDidLoad];

    // 在文本字段外点击时关闭键盘
    UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self.view action:@selector(endEditing:)];
    [tapGestureRecognizer setCancelsTouchesInView:NO];
    [self.view addGestureRecognizer:tapGestureRecognizer];
}

对于Swift,将有更多代码:

override func viewDidLoad() {
    super.viewDidLoad()

    // 在文本字段外点击时关闭键盘 
    let tapGestureRecognizer: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(YourVCName.dismissKeyboard))
    view.addGestureRecognizer(tapGestureRecognizer)
}

//识别到轻拍时调用此函数。
func dismissKeyboard() {
    //使视图(或其嵌入式文本字段之一)退出第一响应者状态。
    view.endEditing(true)
}

另一个Swift 3 / iOS 10示例

class vc: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // 加载视图后,通常从笔尖进行任何其他设置。
        
       txtSomeField.delegate= self
    }
}

extension vc: UITextFieldDelegate {
    //在键盘外部触摸UI时,隐藏任何文本字段的键盘。
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
    {
        self.view.endEditing(true) //隐藏键盘
    }
}