AppDelegate 所有界面设置
这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
/** enable控制整个功能是否启用。*/
manager.enable = YES;
/** shouldResignOnTouchOutside控制点击背景是否收起键盘。。*/
manager.shouldResignOnTouchOutside = YES;
/** shouldToolbarUsesTextFieldTintColor 控制键盘上的工具条文字颜色是否用户自定义。*/
manager.shouldToolbarUsesTextFieldTintColor = YES;
/** enableAutoToolbar控制是否显示键盘上的工具条。*/
manager.enableAutoToolbar = NO;
return YES;
}
当前界面进行设置
导入IQKeyboardManager后,默认所有的页面都有了这个功能,如果你在哪一个界面不想有这个效果可以在当前界面控制器的生命周期方法中进行设置:
#import <IQKeyboardManager.h>
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[IQKeyboardManager sharedManager].enable = NO;
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[IQKeyboardManager sharedManager].enable = YES;
}
或者在 AppDelegate中注册方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[IQKeyboardManager sharedManager] disableInViewControllerClass:[ViewController class]];
return YES;
}
UINavigationBar消失设置
如果你的视图有导航栏,你不想上移View时,UINavigationBar消失,你也可以进行相应设置:
如果你使用的是storyboard or xib,只需将当前视图视图控制器中的UIView class变为UIScrollView。
1444781-6bee52ee68c98421.png
如果你使用的是代码,你就需要覆盖UIViewController中的'-(void)loadView' 方法:
##添加额外代码,避免导航栏
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.scrollEnabled = YES;
[self.view addSubview:scrollView];
#scroll.scrollEnabled = NO
网友评论