键盘显示在视图顶部,不允许用户交互

时间:2011-05-16 18:42:13

标签: objective-c cocoa-touch ios keyboard

我有一个基于窗口的项目,有两个UITextField来从用户那里获取输入。 两者都在我的视图控制器中。

我必须在后台解析内容,所以我需要一些阻止用户交互的东西。 我遇到了这个Cocoa With Love tutorial来创建一个加载视图。在大多数情况下,它实际上运作得很好;当文本字段占用第一个响应者时它会起作用。

但有一种情况是它不起作用。当我在第一个文本字段中键入内容然后选择第二个文本字段时,将出现加载屏幕,但键盘位于其上方,因此用户可以键入内容。我希望加载屏幕位于键盘顶部。

在教程中,它说要调用键盘的superview。什么是键盘的超级视图? 我在视图控制器中尝试了以下不同的片段,但没有任何效果。

loadingView = [LoadingView loadingViewInView:[self.view.window.subviews     objectAtIndex:0]];

loadingView = [LoadingView loadingViewInView:self.view];

loadingView = [LoadingView loadingViewInView:self.view.superview];

如何让加载屏幕显示在所有内容之上?

1 个答案:

答案 0 :(得分:1)

简单的解决方案是在显示加载视图时关闭键盘。我不认为你可以把任何东西放在键盘上。

也就是说,您可以尝试使用根窗口作为视图,看看它是否有效。