4

尝试禁用IQKeyboardManager特定 ViewController 或整个应用程序,它不起作用。

我的 AppDelegate 代码:

[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setEnable:NO];
[[IQKeyboardManager sharedManager] disableToolbarInViewControllerClass:[TCChatViewController class]];
[[IQKeyboardManager sharedManager] disableInViewControllerClass:[TCChatViewController class]];

还试图禁用viewWillAppear:

[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setEnable:NO];
4

5 回答 5

8

在 Objective C 中禁用 IQKeyboard 管理器

如果您想在项目的特定控制器中禁用IQKeyboardManager。然后在您的 viewController 类中添加这一行。

 #import "IQKeyboardManager.h"

现在在 View Controller viewDidLoad方法中,添加以下函数

[[IQKeyboardManager sharedManager] setEnableAutoToolbar:false];

现在,当您离开控制器时,您的IQKeyboardManager将在您离开该 viewController** 时启用。

In **viewWillDisappear** Method:-

[[IQKeyboardManager sharedManager] setEnableAutoToolbar:true];

在 Swift 3.0 中禁用 IQKeyboard 管理器

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
}

在 Swift 4.2 中禁用 IQKeyboard 管理器

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
}
于 2016-11-16T12:09:56.690 回答
4

尝试这个

只需将下面的行放在您的 ViewController viewDidLoad 中。

[[IQKeyboardManager sharedManager] setEnable:false];

在您的 ViewController viewWillDisappear 中放入以下行;

[[IQKeyboardManager sharedManager] setEnable:true];
于 2017-08-11T10:31:29.243 回答
1

尝试这个

[[IQKeyboardManager sharedManager] setEnable:NO];
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:NO];
[[IQKeyboardManager sharedManager] setShouldResignOnTouchOutside:NO];
于 2019-08-09T08:16:44.053 回答
1

问题出在“在两者中实现的类”中,因为库包含在主应用程序和框架中。所以我想我正在将图书馆偏好设置为一个副本,但图书馆正在阅读另一个副本的偏好,而我的被忽略了。

于 2015-08-13T15:55:36.520 回答
0

在 Swift 5 中,这对我特别适用于 vc:

IQKeyboardManager.shared.disabledDistanceHandlingClasses.append(MyController.self)
IQKeyboardManager.shared.disabledToolbarClasses = [MyController.self]
于 2019-12-21T12:01:37.170 回答