10

我的 UIView 的一部分覆盖了 iPad 的键盘。

在此处输入图像描述

您看到的视图只是我作为子视图添加到主视图的 UIView。当显示键盘时,我确实将视图向上移动。

有没有人见过这个?

编辑

当显示键盘时,我将视图向上移动:

[UIView animateWithDuration:SHOW_KEYBOARD_ANIMATION_DURATION animations:^{
    CGRect frame = self.currentViewController.view.frame;
    frame.origin.y -= SHOW_KEYBOARD_OFFSET;

    self.currentViewController.view.frame = frame;
}];

编辑

我使用以下代码添加视图:

[UIView transitionFromView:fromView toView:toView duration:0.3f options:UIViewAnimationOptionTransitionCrossDissolve completion:nil];
4

2 回答 2

1

你从哪里得到 SHOW_KEYBOARD_OFFSET ?我敢打赌这就是问题所在。

正如 Kate 所说,您应该捕获通知,并使用它们中的 userInfo 来确定如何移动您的视图。任何硬编码值都会破坏第二次 Apple 更改您的键盘尺寸。简而言之,不要假设框架可以很容易地告诉你什么。

于 2012-08-02T21:48:40.993 回答
1

您是在显示键盘之前还是之后调用代码以将视图移开?换句话说,你注册的是 UIKeyboardWillShowNotification 还是 UIKeyboardDidShowNotification?

我不确定您从哪里获得键盘尺寸?再次查看 Apple 的示例代码,请参阅http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html,向下滚动到位于的移动内容部分键盘下方。

于 2012-05-23T03:42:36.507 回答