【发布时间】:2016-07-26 13:34:02
【问题描述】:
在显示带有进度指示器的覆盖视图时,我遇到了一个非常奇怪的用户交互问题。
在主视图上,我有上一个和下一个按钮,然后单击下一个按钮,我进行了 Web 服务调用,在此过程中,我显示了一个带有进度指示器的覆盖视图,如下所示。
[self createProgressViewWithMessage:@"Loading..."];
[self.view bringSubviewToFront:self.inProgressView];
[self.inProgressView becomeFirstResponder];
[NSThread detachNewThreadSelector:@selector(search:) toTarget:self
withObject:info];
成功检索后,我将更新记录列表并执行启用和禁用上一个和下一个按钮。在显示覆盖视图时,单击上一个或下一个按钮,事件正在排队并在 Web 服务调用完成后被调用。为了避免这些排队的事情,我尝试了多种方式,比如调用[[UIApplication sharedApplication] beginIgnoringInteractionEvents]
在创建进度视图并在 Web 服务调用完成后调用 [[UIApplication sharedApplication] endIgnoringInteractionEvents] 之前,但之后仍然会调用事件。
尝试通过设置userInteractionEnabled = NO 来制作主视图,同时覆盖视图存在但仍然没有用。
尝试了所有可能的方法,但仍然没有用。不知道为什么事件会在 Web 服务调用完成后排队并被调用。
有人可以帮我解决这个问题吗?我不希望在显示覆盖视图时将事件排队。我的意思是,当覆盖视图正在进行时,不应将事件传递给主视图上的上一个和下一个按钮。
【问题讨论】:
标签: ios