如何在所有内容上添加模态自定义UIView

时间:2013-10-14 15:16:46

标签: ios5 ios6 uiview uiviewcontroller

我有一个简单的UIViewController和一个UIButton。我希望当按下按钮时,我创建的自定义UIView(使用XIB)将以模态方式添加,因此无法按下其他控件或按钮。

目前我这样做:

VODPopup *popup = [[VODPopup alloc] initWithFrame:CGRectMake(100, 95, 200, 150)   pickerData:vodEpisodesPickerData];

popup.delegate = self;

[self.view addSubview:popup];

UIView实例添加为我的ViewController的子视图, BUT 位于UIVIew之外的所有其他按钮均可按下。

任何想法?

2 个答案:

答案 0 :(得分:1)

如果您想要完全行为,可以使用UIWindow:

    UIWindow *overlayWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    overlayWindow.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    overlayWindow.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.f];
    overlayWindow.windowLevel = UIWindowLevelAlert;
    [overlayWindow setHidden:FALSE];

但是如果你使用ARC,你应该设置强效指针。

答案 1 :(得分:0)

看了好几个帖子后,最好的解决方案就是创建一个透明的UIViewController,最后我把我的UIView和创建了一个Modal Segue,当被调用时,它控制了一切,只允许与它交互,而不是与下面的内容相互作用

此链接可能会解决您的问题: - )

https://github.com/Chintan-Dave/popupDemo