1. 程式人生 > >XRMelo的菜鳥起飛之路

XRMelo的菜鳥起飛之路

切正題
我們都知道在使用alertView actionSheet等系統控制元件,他們的共同的特性就是會有一層灰色的view遮蓋了與當前頁面的互動.並且點選控制元件以外的灰色區域,會回到之前的頁面.
那麼我們有時候也是需要使用者在我們彈出的控制元件上進行操作,並且不希望使用者看不到當前頁面,同時又希望使用者在我們彈出的控制元件操作完成之前不能進行其他的操作,那這個時候我們就需要上面說到的所謂的"蒙版"(個人叫法).
平常的做法是設定一個全屏view,設定下透明度就ok.但是有時候會遇到在有navigationController或者tabBar的情況下設定全屏蒙版.這個時候

[self.view addSubview:yourView];

就會出現上面或者下面是蓋不住的尷尬境地.
so,在有navigation的情況就需要這樣使用
[self.navigationController.view addSubview:yourView];

這種情況下view的移除直接使用removeFromSuperview是沒有效果的
for (UIView *view in self.navigationController.view.subviews) {
if (view.tag == yourView) {
[view removeFromSuperview];
}
}


ps,在有tabBar的情況下,時間所限尚未實際實踐.留個坑