2009-05-03 69 views
4

我想創建一個選擇器控制器,在其上方放置一個「完成」按鈕,以顯示在另一個視圖中的窗體。在另一個視圖上顯示一個UIViewController/UIView

我已經創建了UIViewController的子類,並使用IB我添加了一個工具欄和一個選擇器視圖。這似乎很好,通過複製UICatalog例子我可以讓它顯示所需的值,我可以聽的選擇等

alt text http://web.me.com/gareth.davis/so/settlement_picker_ui.png

在上面我已經設置視圖的背景顏色爲alpha 0.0。我也嘗試將它自己的視圖的alpha設置爲0.0,這只是顯示一個完全透明的視圖。

alt text http://web.me.com/gareth.davis/so/picker_running_in_app.png

以上是使用顯示在我的形式的頂視圖控制器:

[self presentModalViewController:settlementPickerViewController       
         animated:YES]; 

除了試圖設置我的視圖的各種α-性能我還試圖改變爲了使視圖的高度不需要透明部分,麻煩的是視圖然後定位在屏幕的一半。

回答

3

該解決方案似乎不是使用UIViewController而是簡單的自定義UIView很好地完成這項工作。

我曾經在awakeFromNib方法Haentz的顏色設置:

- (void)awakeFromNib { 
    picker.delegate = self; 
    self.backgroundColor = [UIColor clearColor];  
} 

請注意,您必須實現這一點,不使用initWithFrame方法的x代碼模板給你的筆尖控制視圖不使用initWithFrame(來自蘋果文檔)。

2

也許我只是不明白,但我不完全明白這裏有什麼問題。在底部的截圖中,UI元素應該是透明的,沒有上面的白色區域? 您需要相應地設置了UIView的框架在UIViewController,我想你可能需要設置背景色透明:

self.view.backgroundColor = [UIColor clearColor]; 

我不知道,因爲我從來沒有使用IB,但它可能可以將基本視圖的背景顏色的Alpha值設置爲0.不是視圖本身的Alpha,而是背景顏色的Alpha。

+0

對不起,白色區域應該在下面的視圖中顯示底層窗體。我試圖用IB設置背景顏色,我會用bash編程,謝謝。 – 2009-05-03 17:10:17

相關問題