我需要禁用用户与键盘或整个应用程序的交互
I need to disable user interaction with either the keyboard or the entire app
我有一个 UITextField
可以调出键盘,现在,一旦你点击 "Go",你仍然可以在加载内容时编辑文本字段(更重要的是,你正在交互使用键盘仍然可以再次按下 return 键,这会产生一堆问题。
我试过 [[UIApplication sharedApplication] beginIgnoringInteractionEvents]
,但您仍然可以与键盘进行交互。我不想在加载时隐藏键盘,因为如果输入无效,用户将需要再次使用键盘。非常感谢任何帮助。
我认为你处理这个问题的方式不对。我会做的是:
一旦用户点击 "Go" 并开始加载,隐藏键盘并禁用文本字段上的用户交互。
如果输入无效,请再次启用文本字段并调出键盘。
据我所知,如果键盘在视图中,则无法将其禁用(并且有充分的理由,那是糟糕的 UI 设计。)
你可以这样试,假设你点击"GO"
时goClicked方法是fire方法
- (void)goClicked
{
[self.view endEditing:YES];
[yourTextField setUserInteractionEnabled:NO];
//loading things code
//when loading completes or loading fails
[yourTextField setUserInteractionEnabled:YES];
}
我有一个 UITextField
可以调出键盘,现在,一旦你点击 "Go",你仍然可以在加载内容时编辑文本字段(更重要的是,你正在交互使用键盘仍然可以再次按下 return 键,这会产生一堆问题。
我试过 [[UIApplication sharedApplication] beginIgnoringInteractionEvents]
,但您仍然可以与键盘进行交互。我不想在加载时隐藏键盘,因为如果输入无效,用户将需要再次使用键盘。非常感谢任何帮助。
我认为你处理这个问题的方式不对。我会做的是:
一旦用户点击 "Go" 并开始加载,隐藏键盘并禁用文本字段上的用户交互。
如果输入无效,请再次启用文本字段并调出键盘。
据我所知,如果键盘在视图中,则无法将其禁用(并且有充分的理由,那是糟糕的 UI 设计。)
你可以这样试,假设你点击"GO"
时goClicked方法是fire方法- (void)goClicked
{
[self.view endEditing:YES];
[yourTextField setUserInteractionEnabled:NO];
//loading things code
//when loading completes or loading fails
[yourTextField setUserInteractionEnabled:YES];
}