您现在的位置:首页 > >

[IOS开发]点击屏幕任何位置隐藏键盘

发布时间:

-
?
(
void
)viewDidLoad

{




? ??
[
super viewDidLoad
]
;





??

??
[
self setUpForDismissKeyboard
]
;




}




-
?
(
void
)
setUpForDismissKeyboard?
{


? NSNotificationCenter?*nc?=?[NSNotificationCenter defaultCenter];
? UITapGestureRecognizer?*singleTapGR?=
??[[UITapGestureRecognizer alloc]?initWithTarget:self
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? action:@selector(tapAnywhereToDismissKeyboard:)];
? NSOperationQueue?*mainQuene?=[NSOperationQueue mainQueue];
??[nc addObserverForName:UIKeyboardWillShowNotification
? ? ? ? ? ? ? ? ? object:nil
? ? ? ? ? ? ? ? ? ?queue:mainQuene
? ? ? ? ? ? ? usingBlock:^(NSNotification?*note){
? ? ? ? ? ? ? ??[self.view?addGestureRecognizer:singleTapGR];
? ? ? ? ? ? ??}];
??[nc addObserverForName:UIKeyboardWillHideNotification
? ? ? ? ? ? ? ? ? object:nil
? ? ? ? ? ? ? ? ? ?queue:mainQuene
? ? ? ? ? ? ? usingBlock:^(NSNotification?*note){
? ? ? ? ? ? ? ??[self.view?removeGestureRecognizer:singleTapGR];
? ? ? ? ? ? ??}];
}


-?(void)tapAnywhereToDismissKeyboard:(UIGestureRecognizer?*)gestureRecognizer?{
//此method会将self.view里所有的subview的first responder都resign掉
??[self.view?endEditing:YES];


}


热文推荐
猜你喜欢
友情链接: