2013-10-14 29 views
0

我有一个简单的UIViewController和一个UIButton就可以了。我希望按下按钮时,我创建的自定义UIView(使用XIB)将以模态方式添加,因此不能按其他控件或按钮。如何在一切上添加模态自定义UIView

目前我做的:

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

popup.delegate = self; 

[self.view addSubview:popup]; 

这更增加了UIView实例作为子视图我的ViewController,位于UIVIew以外的所有其他按钮可按压。

任何想法?

+0

我认为你应该做的是Segue公司的酥料饼的ViewController,不要试图做一个模态的UIView。 – shash

+0

我会看看如何以编程方式创建segue。 – Shvalb

+0

再次思考它,Segue在2个ViewControllers之间转换,而不是在ViewController和UIView之间转换。 – Shvalb

回答

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的效果设置强有力的指针。

0

看了几篇文章后,最好的解决方案是创建一个透明的UIViewController,并且在顶部我放置了我的UIView并创建了一个Modal Segue,当它被调用时,它控制了所有内容,只允许与它进行交互,而不是与下面的内容交互。

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

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

相关问题