当键盘仍在swift的屏幕上时,如何触发按钮操作?

时间:2017-07-20 21:24:00

标签: swift3 uikeyboard

我遇到了问题而无法找到解决方法。目前我在VC的viewDidLoad()中有一个轻击手势识别器,如果屏幕上有一个水龙头,它将关闭键盘。问题是,当用户完成文本字段并按下“注册帐户”按钮时,它仍然被识别为点击并且仅移除键盘但按钮不响应点击并且不调用选择器功能。 我希望只要用屏幕上的键盘点击按钮就可以调用该功能并开展业务。请帮忙。 只是发布按钮调用的函数的第一行,因为这个问题就是我所得到的:

@objc fileprivate func createAccount() {
    confirmPasswordTextField.resignFirstResponder()

1 个答案:

答案 0 :(得分:0)

如果您只想让所有按钮都可操作(连同键盘解除),您所要做的就是让您的点击手势识别器不取消视图中的触摸:

$ pip install pycryptodome
$ python
Python 3.6.1 (default, Apr  4 2017, 09:36:47) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import Crypto
>>> print(Crypto.__file__);
/Users/hanxue/.virtualenvs/pgadmin4/lib/python3.6/site-packages/Crypto/__init__.py
>>> 

所以只需设置:

var cancelsTouchesInView: Bool { get set }

https://developer.apple.com/documentation/uikit/uigesturerecognizer/1624218-cancelstouchesinview

这将使用户点击"注册帐户"按钮键盘将解除,并且还将执行操作。