Ios5 如何在一切之上添加模态自定义UIView

Ios5 如何在一切之上添加模态自定义UIView,ios5,ios6,uiview,uiviewcontroller,Ios5,Ios6,Uiview,Uiviewcontroller,我有一个简单的ui视图控制器和一个ui按钮。我希望在按下按钮时,我创建的自定义UIView(使用XIB)将以模式方式添加,以便无法按下下面的其他控件或按钮 目前我有: VODPopup *popup = [[VODPopup alloc] initWithFrame:CGRectMake(100, 95, 200, 150) pickerData:vodEpisodesPickerData]; popup.delegate = self; [self.view addSubview:po

我有一个简单的
ui视图控制器
和一个
ui按钮
。我希望在按下按钮时,我创建的自定义
UIView
(使用
XIB
)将以模式方式添加,以便无法按下下面的其他控件或按钮

目前我有:

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

popup.delegate = self;

[self.view addSubview:popup];
它将
ui视图
实例作为我的ViewController的子视图添加,但位于
ui视图
之外的所有其他按钮都可以按


有什么想法吗???

如果您想要准确的行为,您可以使用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,你应该设置一个有效的强指针。

看了几篇文章后,最好的解决方案是创建一个透明的UIViewController,我把UIView放在上面,并创建了一个模式Segue。当调用它时,它控制一切只允许与它交互,而不允许与下面的内容交互

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


我认为你应该做的是切换到一个popover ViewController,而不是尝试创建一个模态UIView。我将看看如何以编程方式创建segue。再想想,segue在两个ViewController之间进行转换,而不是在ViewController和UIView之间进行转换。是的,这就是我要说的;更简单的方法似乎是使用第二个ViewController来承载您的模态UIView。