如何使iPhone键盘上升时不可见?

Ste*_*ler 4 iphone keyboard startup

当我的iPhone应用程序启动时,主屏幕有一个键盘.目前,只要显示界面的其余部分,键盘就会上升,这在视觉上会分散注意力.

如何在键盘已经显示的情况下显示视图?

由于我在启动期间已经伪装了屏幕的其余部分,以便用户看到他们上次正在做的事情,我认为我也可以伪造键盘.但是如果当真正的键盘出现时动作就在那里,我就失去了效果.据我所知,键盘在一个单独的窗口上,而不仅仅是一个单独的视图,所以我不能用我自己的图像覆盖它.

有没有办法在我看到自己的图像时覆盖键盘,或者直到键盘一直向上显示键盘,或者让动画瞬间完成?

dme*_*edi 5

我的原始答案是键盘与视图控制器一起动画,如果它是动画过渡(即推动视图控制器或呈现带有动画的模态控制器:是).但是,如果在没有动画过渡的情况下显示新视图控制器,键盘仍然会动画,因此它无法解决您的问题.

这是我的测试中另一种方法.尝试在显示控制器+键盘时禁用动画.

[UIWindow beginAnimations: nil context: NULL];
[UIWindow setAnimationsEnabled: NO];

RestoredController *controller = [[[RestoredController alloc] init] autorelease];
[self.navigationController pushViewController: controller animated: NO];

[UIWindow commitAnimations];
Run Code Online (Sandbox Code Playgroud)

您仍然需要在viewWillAppear:或viewDidAppear中将字段设为第一个响应者: