2012-07-01 64 views
0

當某個用戶操作時,我想添加到我的UIViewController另一個UIView將是半透明的;即當它加載時,後面的UIViewController視圖在後臺仍然可見,而新的UIView將顯示爲它上面的一個圖層。如何添加一個半透明的UIView到一個UIViewController

「半透明」UIView應該有幾個圖像和按鈕,所以我更喜歡爲它創建一個分離的h,m和xib文件,以便我可以控制它。

我該怎麼做?

回答

2
  1. 子類的UIView,創建筆尖文件
  2. 更改筆尖類定製子類的名字
  3. 更改文件所有者,成爲您的視圖控制器
  4. 在您的視圖控制器中,使用IBOutlet爲自定義視圖聲明@property
  5. 選擇筆尖,從文件所有者拖動到自定義視圖,並連接出口
  6. 在您的按鈕動作,當你準備加載視圖,使用

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:self options:nil];

一旦做到這一點,您的自定義將會從筆尖加載和分配給您宣佈的財產。

+0

謝謝Rog。一個問題:當我從firstView調用transparentView時 - 在loadNibNamed之前是否需要執行其他任何操作?像「alloc」,「initWithFrame」等... –

+0

當你運行'loadNibNamed'你的視圖是用'initWithCoder'方法「alloc'd/init'd」。該框架設置爲您在nib文件中指定的大小。如果您需要在init中配置任何變量等,您可以在自定義視圖類中重寫'initWithCoder'。 – Rog

4

試試這個:

UIView *view = [[UIView alloc] init]; 
[view setAlpha:0.5]; 
[mainview addSubview:view] 
相關問題