Reputation: 402
Trying to disable IQKeyboardManager
for a particular ViewController or for the whole app, it's not working.
My AppDelegate code:
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setEnable:NO];
[[IQKeyboardManager sharedManager] disableToolbarInViewControllerClass:[TCChatViewController class]];
[[IQKeyboardManager sharedManager] disableInViewControllerClass:[TCChatViewController class]];
Also trying to disable in viewWillAppear:
:
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setEnable:NO];
Upvotes: 4
Views: 15086
Reputation: 19592
In Swift 5 this is what worked for me in particular vc:
IQKeyboardManager.shared.disabledDistanceHandlingClasses.append(MyController.self)
IQKeyboardManager.shared.disabledToolbarClasses = [MyController.self]
Upvotes: 0
Reputation: 189
Try this
[[IQKeyboardManager sharedManager] setEnable:NO];
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setShouldResignOnTouchOutside:NO];
Upvotes: 1
Reputation: 2855
Disable IQKeyboard Manager In Objective C
If you want to disable IQKeyboardManager in particular controller of your project. Then add this line in your viewController Class.
#import "IQKeyboardManager.h"
Now In View Controller viewDidLoad Methods, add the below function
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:false];
Now when you leave the controller, so that your IQKeyboardManager will enable when you leave that viewController**.
In **viewWillDisappear** Method:-
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:true];
Disable IQKeyboard Manager In Swift 3.0
import IQKeyboardManagerSwift
override func viewDidLoad() {
super.viewDidLoad()
IQKeyboardManager.sharedManager().enableAutoToolbar = false
IQKeyboardManager.sharedManager().enable = false
}
//MARK:- viewWillDisappear
override func viewWillDisappear(_ animated: Bool) {
IQKeyboardManager.sharedManager().enableAutoToolbar = true
IQKeyboardManager.sharedManager().enable = true
}
Disable IQKeyboard Manager In Swift 4.2
import IQKeyboardManagerSwift
override func viewDidLoad() {
super.viewDidLoad()
IQKeyboardManager.shared.enableAutoToolbar = false
IQKeyboardManager.shared.enable = false
}
//MARK:- viewWillDisappear
override func viewWillDisappear(_ animated: Bool) {
IQKeyboardManager.shared.enableAutoToolbar = true
IQKeyboardManager.shared.enable = true
}
Upvotes: 9
Reputation: 4552
Try This
Just Put below line in Your ViewController viewDidLoad.
[[IQKeyboardManager sharedManager] setEnable:false];
Put Below line in Your ViewController viewWillDisappear;
[[IQKeyboardManager sharedManager] setEnable:true];
Upvotes: 4
Reputation: 402
The issue was in 'Class implemented in both', because library was included to main app and framework. So I guess I was setting library preferences to one copy, but library was reading preferences from another copy and mine was ignored.
Upvotes: 1