在应用中,点击输入框,输入完毕,点击其他地方,需要收起键盘。因此需要在设置如下属性,这是方法一:
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
如果键盘弹出,遮挡了输入框,这该如何是好?
项目中有很多地方需要有输入框,都需要在输入完毕关闭键盘。
这个时候就需要使用这个第三方:IQKeyboardManager
这是方法二:
首先,将IQKeyboardManager导入到项目中,具体如何导入,不用我说吧。
然后,在AppDelegate.m文件中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//作用:键盘自动调整
IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
manager.enable = YES;
manager.shouldResignOnTouchOutside = YES;
manager.enableAutoToolbar = NO;
return YES;
}
这样就可以啦,无论哪个界面都一次性实现了键盘自动调节。
以上的做法是对项目全局器作用的,如果需要在某个界面屏蔽IQKeyboardManager的功能,可以在对应的界面如下实现:
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[[IQKeyboardManager sharedManager]setEnable:NO];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[[IQKeyboardManager sharedManager]setEnable:YES];
}
当然,IQKeyboardManager还有其他强大的功能,后续学习再增加。
最后是一个例子:https://git.oschina.net/vampireLocker/BlockDemo2.git