Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIActivityIndicatorView旋转时禁用所有输入_Ios_Cocoa Touch_Uiactivityindicatorview - Fatal编程技术网

Ios UIActivityIndicatorView旋转时禁用所有输入

Ios UIActivityIndicatorView旋转时禁用所有输入,ios,cocoa-touch,uiactivityindicatorview,Ios,Cocoa Touch,Uiactivityindicatorview,当UIActivityIndicatorView旋转时,如何禁用所有输入 谢谢启动微调器时,您可以调用BeginIngnoringInteractionEvents [[UIApplication sharedApplication] beginIgnoringInteractionEvents]; 当您停止时,endIgnoringInteractionEvents [[UIApplication sharedApplication] endIgnoringInteractionEvents

UIActivityIndicatorView
旋转时,如何禁用所有输入


谢谢

启动微调器时,您可以调用
BeginIngnoringInteractionEvents

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
当您停止时,
endIgnoringInteractionEvents

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

只需确保您的代码始终处于调用
endIgnoringInteractionEvents
的位置,否则您的应用程序将冻结(从用户的角度来看)。

只是rokjarc答案的一个补充。 下面是一个让应用程序保持活动状态的看门狗示例。 您可以随时以某个关键间隔(可能是10秒)拨打电话。 如果您需要在10秒内启用,只需调用“enable”方法

在Swift 3.0中:

要禁用交互,请执行以下操作:

UIApplication.shared.beginIgnoringInteractionEvents() 
UIApplication.shared.endIgnoringInteractionEvents() 
要恢复交互,请执行以下操作:

UIApplication.shared.beginIgnoringInteractionEvents() 
UIApplication.shared.endIgnoringInteractionEvents() 
在Swift 5中:

// activity indicator starts
view.isUserInteractionEnabled = false

...

// activity indicator stops
view.isUserInteractionDisabled = true

如果您将微调器添加到UIAlertView,然后显示该警报,则这将实现您所追求的目标。您也可以使用微调器获得不错的效果,但根据您试图实现的目标,微调器可能会更重。感谢Luke,如果我希望UIAlertView解除锁定,我如何“销毁”它。有0个按钮可以吗?没有按钮完全可以。只需调用[someAlertView Dismiss with Clicked Button索引:0动画:是];请浏览此链接[有关于此主题的详细对话][1][1]:谢谢,工作正常。但正如我所看到的,视图确实“记住”了一次触摸,并在endIgnoreInteractionsEvent之后触发了事件。这种行为可以改变吗?@mica:哇,这是一个有趣的观察结果——我以前没有注意到过。我来看看。如果您赶时间,您可以hijaack应用程序主窗口的
sendEvent:
,然后在那里决定(即,如果微调器正在设置动画或未设置动画,则通过检查某种标志)是否将事件发送到响应器链或忽略它。一种方法是(答案是
MyKindOfWindow
definition)。@mica:看起来你发现了一个bug。根据这一点,不应该发生:“在一段时间内关闭触摸事件的传递。应用程序可以调用UIApplication方法beginIgnoringInteractionEvents,然后调用endIgnoringInteractionEvents方法。第一种方法使应用程序完全停止接收触摸事件;第二种方法被调用以恢复接收此类事件。感谢您的调查。在这种特殊情况下,这种行为对我来说是正常的。如果没有,我想我会在UIActivityIndicator旋转时,将透明视图置于所有其他视图之上。谢谢,这一点很有帮助!!