2013-10-14 64 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

相關問題