一般我們都會(huì)在入口類直接集成IQKeyBoardManager,方便項(xiàng)目中管理鍵盤和別的一些操作
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
manager.enable = YES;
manager.shouldResignOnTouchOutside = YES;
manager.shouldToolbarUsesTextFieldTintColor = YES;
manager.enableAutoToolbar = NO;
}
IQKeyBoardManager 使用的界面敛苇,當(dāng)鍵盤彈出后浸船,在鍵盤沒有收回的時(shí)候彈出UIAlertView 或者使用UIAlertController,或者textField輸入的時(shí)候,這樣之后點(diǎn)擊界面就會(huì)出現(xiàn)界面漂移現(xiàn)象。
解決辦法奢啥;進(jìn)入控制器的時(shí)候關(guān)閉這個(gè)框架第喳,出這個(gè)界面開啟這個(gè)框架飞蚓。如下代碼
//視圖控制器已經(jīng)加載完成之后,禁用IQKeyboardManager
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[[IQKeyboardManager sharedManager] setEnable:NO];
}
//視圖控制器已經(jīng)消失,開啟IQKeyboardManager
-(void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[[IQKeyboardManager sharedManager] setEnable:YES];
}