2009-05-03 44 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

相关问题