2015-02-06 95 views
0

我有下面的代碼顯示一個彈出。彈出窗口有一個黑色的主視圖,一個是白色的子視圖,該子視圖有一些標籤,按鈕和用戶與之交互的東西。我希望周圍的黑色部分是部分透明的(alpha = 0.7),但是它內部的白色部分是完全不透明的(alpha = 1.0)。我無法做到這一點,出於某種原因,父項的值覆蓋了它的子值,並且我得到了完全不透明的視圖,或者標籤和按鈕部分透明的視圖。如何使視圖控制器呈現部分透明度?

我該怎麼辦?

,顯示彈出代碼:

@IBAction func getLocation(sender: AnyObject) { 
    var p = PopupViewConrtoller(list: list, callback) 
    var x = UINib(nibName: "PickerPopup", bundle: nil).instantiateWithOwner(p, options: nil) 
    self.presentViewController(p, animated: false, completion: nil) 
    } 
  • 我只在屬性檢查器中改變透明度。

回答

1

看來,不可能在不影響添加到主視圖的子視圖的情況下使主視圖部分透明。

你可以做的是,

-set mainView background color as clear color 
-add one more subview1 to mainView with size same as main view and set the background color as blackColor with desired transparency(alpha=0.7 as in required) 
-add your subview2(which is having labels, buttons etc.) to mainView but above subview1 in layer order. 

我希望這將幫助你實現你想要的。

+0

好主意,我發現一種方法可以做得更容易。看到我的回答:) +1 – 2015-02-07 10:16:17

0

我認爲這是不可能的,我試圖這樣做。 Rajeev有一個好主意,但是最好的(以及蘋果評論家可能會批准的)使用popover s。 This tutorialthis tutorial很有幫助。

相關問題