输入时UITextVIew没有向上移动

时间:2018-01-09 10:08:45

标签: ios objective-c uitextview iqkeyboardmanager

我在项目中安装了一个pod文件IQKeyboardManager,但它无效。

这是截图, enter image description here

图片1 :这是我创建故障单的视图。

主题和消息是文本视图,而不是文本字段。

当我开始输入主题(subjectTextView)时,我无法看到我正在键入的内容&消息中也发生了同样的事情(messageTextView)。我无法看到我在textview中输入的内容(见图2 A)

当我点击完成后,我们就能看到内容(见图2 B)

有什么解决方案吗? 当我开始输入subjectTextView和messageTextview时,我想在输入时移动textview。

更新: 我在appdelegate文件中添加了以下代码,仍然无法正常工作

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [[IQKeyboardManager sharedManager] setEnable:YES];

    return YES;
}

4 个答案:

答案 0 :(得分:3)

您必须启用IQKeyboardManager。您可以在app delegate的didFinishLaunchingWithOptions方法中启用它。

Swift 4 Xcode 9

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    IQKeyboardManager.sharedManager().enable = true
    return true
}

目标C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[IQKeyboardManager sharedManager] setEnable:YES];
    return YES;
}

答案 1 :(得分:1)

您需要使用

IQKeyboardManager AppDelegate方法中启用didFinishLaunchingWithOptions
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    [[IQKeyboardManager sharedManager] setEnable:YES];

    return YES;
}

应该有效

答案 2 :(得分:0)

在App Delegate didFinishLaunchingWithOptions方法中添加以下代码,'

[[IQKeyboardManager sharedManager] setEnable:YES];

或者您可以在该类中添加viewWillDisappear或viewDidLoad方法。

你可能会犯一个小错误。 你有没有在viewWillAppear或viewWillDisappear方法中写过任何东西?

答案 3 :(得分:-1)

尝试在创建故障单控制器的 viewWillAppear 中添加以下行以重新启用

[[IQKeyboardManager sharedManager] setEnable:YES];