在模态UIView后面的UIView上禁用元素

Pav*_*van 2 iphone background objective-c modal-view

我有一个小于superview的UIView,所以当单击一个按钮时,我可以将此视图表示为模态视图.

我设法做了以下事情:*在superview中添加子视图.*以这种模态视图为中心

我现在正试图让UIView背后的元素无法点击.并且还在我的模态视图中添加灰色阴影,以便用户理解模态视图是焦点视图.

我想知道如何实现这一目标.

我不希望使用演示模式转换.我知道并且已经在其他项目中实现了这一点.任何帮助表示赞赏.

Nat*_*ror 10

最简单的方法是UIView在"模态"视图后面放置一个半透明灰色背景的全屏.然后它将拦截所有的触摸.它可能看起来像这样:

UIView *dimBackgroundView = [[UIView alloc] initWithFrame:theSuperview.bounds];
dimBackgroundView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:.5f];

[theSuperview addSubview:dimBackgroundView];
[theSuperview addSubview:modalView];
Run Code Online (Sandbox Code Playgroud)

为了将来参考,您可以设置myView.userInteractionEnabled = NO禁用视图上的触摸事件.