方法一:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
//点击空白处影藏键盘
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
}
方法二:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITextField *useNameField = (UITextField *)[self viewWithTag:300];
UITextField *passwordField = (UITextField *)[self viewWithTag:301];
if (![useNameField isExclusiveTouch]) {
[useNameField resignFirstResponder];
}
if (![passwordField isExclusiveTouch]) {
[passwordField resignFirstResponder];
}
if (![nameField isExclusiveTouch]) {
[nameField resignFirstResponder];
}
}
方法三:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
[[self findFirstResponderBeneathView:self.view] resignFirstResponder];
}
- (UIView*)findFirstResponderBeneathView:(UIView*)view
{
for ( UIView *childView in view.subviews ) {
if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] )
return childView;
UIView *result = [self findFirstResponderBeneathView:childView];
if ( result )
return result;
}
return nil;
}