我有一个按钮,它在 iOS 5 和 6 上照常工作。但在 iOS 7 上,当我按下按钮时,键盘会关闭,但不会调用该方法。当我第二次按下它时,它按预期工作。
这是为什么?
这是代码:
[self.loginButton addTarget:self action:@selector(loginButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
我在 UITableView 单元格中有按钮。
编辑:
这是我在此方法开始时关闭键盘的方式,但直到我第二次点击按钮时,此方法才会在 iOS7 上被调用。
for (UITextField *field in @[self.loginField, self.passwordField]) {
if ([field isFirstResponder]) {
[field resignFirstResponder];
}
}
我也有手势识别器可以在外面点击删除键盘:
UITapGestureRecognizer *tapper = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeKeyboard)];
[self.view addGestureRecognizer:tapper];
tapper.cancelsTouchesInView = NO;
这是它的方法:
- (void) removeKeyboard
{
[self traverseAllSubviewsOfView:self.view withBlock:^(UIView *inView) {
[inView resignFirstResponder];
}];
}