我有一个自定义 UIAlertView。我在该 AlertView 中有一个 UITextField,它一显示就成为 firstResponder。现在,当用户触摸 AlertView 中的其他位置时,我需要关闭该 UITextField 的键盘。我为此举办了 touchesBegan 活动。
一切都到位并且工作正常,除了当我在 UITextField 上调用 resignFirstResponder 时,它不再是第一响应者,但键盘没有被关闭。有什么办法可以解除那个键盘。
我正在寻找解决方案,并在这里找到了类似的帖子,但没有答案
如果有人能够找到出路,请告诉我。我什至尝试了以下方式,但它不起作用
UIWindow* tempWindow;
// Because we cant get access to the UIKeyboard throught the SDK we will just use UIView.
// UIKeyboard is a subclass of UIView anyways
UIView* keyboard;
// Check each window in our application
for(int c = 0; c < [[[UIApplication sharedApplication] windows] count]; c ++)
{
// Get a reference of the current window
tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:c];
for(int i = 0; i < [tempWindow.subviews count]; i++)
{
// Get a reference to the current view
keyboard = [tempWindow.subviews objectAtIndex:i];
// Loop through all views in the current window
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES){
[keyboard removeFromSuperview];
}
}
}