禁用整个UIView

时间:2011-10-10 20:09:22

标签: ios uiview

我的应用需要将图像保存到磁盘。我在一个单独的线程中执行此操作,因此UI仍然响应,但是,我不希望用户添加新图像,直到第一个保存(大约1秒)。

目前,我正在禁用“拍摄另一张照片”按钮并将其灰显,但我想知道是否有一种方法可以禁用整个视图,使按钮变暗并使背景变暗,如当呈现UIActionSheet时会发生什么。

我查看了UIView文档并且看不到这样的内容,但它看起来像苹果经常使用的这种有用的模式,我想我会问,以防万一有这样的事情

显然我可以手动完成,但如果它已经是API的一部分,为什么要重新发明轮子。

TIA:John

2 个答案:

答案 0 :(得分:23)

设置要显示为禁用的任何视图(主视图,子视图等)

view.userInteractionEnabled = NO 

以及

view.alpha = 0.3f

甚至可能

view.backgroundColor = [UIColor grayColor]

启动。最后两个可以动画,b.t.w。

答案 1 :(得分:5)

在此视图上显示阴影和渐变等的另一个视图,从而使其具有阴影灰化效果。如果您了解自己的Photoshop,甚至可以创建图像。只需在此视图上显示UIImageView上的图像即可被阻止。给图像一些漂亮的半透明,阴影等等