在点按手势上隐藏并显示textField。
这是代码:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ShowBASEURL)];
tap.numberOfTapsRequired = 3;
[_txtBaseUrl addGestureRecognizer:tap];
- (void)ShowBASEURL
{
_txtBaseUrl.hidden = NO;
}
- (void)textFieldShouldEndEditing:(UITextField *)textField
{
_txtBaseUrl.hidden = YES;
}
它无法正常工作,因为隐藏了textField后,点按手势无效。 还有其他办法吗?
答案 0 :(得分:2)
您正在隐藏_txtBaseUrl实例。用户为此选择2选项 1)此时将禁用用户交互。手势无法运作。 2)您正在隐藏_txtBaseUrl实例
这样的代码:
- (void)ShowBASEURL {
[_txtTesting resignFirstResponder];
// if hide the _txtBaseUrl
_txtTesting.hidden = YES;
// if not hide the _txtBaseUrl and gesture are disable
// _txtTesting.hidden = NO;
// _txtTesting.userInteractionEnabled = NO;
}
答案 1 :(得分:1)
您正在隐藏_txtBaseUrl实例。此时将禁用用户交互.Gesture将无效。
更改此行并尝试
array_4x4 = (0..<4).map { i in (0..<4).map { j in array_4x4[j][i] } }
到
[_txtBaseUrl addGestureRecognizer:tap];
检查您指定为错误的委托方法
[self.view addGestureRecognizer:tap];
答案 2 :(得分:1)
在textFieldShouldEndEditing中,您隐藏了_txtBaseUrl实例。此时将禁用用户交互。因此,在这种情况下,手势不起作用。