iPhone:如何设置一个清晰的窗口大小的“阻止视图”?

时间:2010-03-22 07:32:57

标签: iphone uiview input uinavigationcontroller uiprogressview

我觉得这对我来说应该是显而易见的,但由于某种原因,我无法弄清楚这一点。我有一个带导航栏,工具栏和主视图的导航界面。有时,用户会采取导致进度指示符出现在视图中间的操作。

当进度指示器(自定义UIView)在中间旋转时,我希望不允许任何触摸输入进入任何底层接口(主视图,导航栏,工具栏等)。但这似乎并不重要。

我已尝试(并且失败)创建一个简单的视图,其唯一的工作是吞下触摸输入并将其用作窗口子视图 - 没有骰子,它永远不会获得触摸事件(是的,它确实有userInteractionEnabled )。我试图把它作为一个透明的模态视图控制器,但那些似乎永远不透明。

思考?我错过了什么?

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以阻止应用程序接受与

的交互事件
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

然后再次开始参加活动

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

但我会非常小心,因为它会阻止用户与您的应用程序进行交互。

建议另一条路线。您可以显示仅使用init方法创建的UIAlertView,以在其中间容纳进度指示器。如果使用init方法,则不会有用户与之交互的按钮。然后,当您完成任务时,您可以关闭警报视图。如果您想让用户取消操作,您甚至可以使用警报视图上的按钮取消操作。

答案 1 :(得分:1)

您可以使用windowLevel>创建透明的UIWindow。 1。