更改警报视图的颜色

时间:2010-04-05 20:16:43

标签: iphone objective-c cocoa-touch xcode

如何将警报视图框的颜色从蓝色更改为黑色?

任何人请帮助!!

2 个答案:

答案 0 :(得分:7)

猜猜你想要这样的事情:

Black Alert View http://img.skitch.com/20100405-n2ka11en1u63kcpfu6x7et29mc.jpg

为了达到这个目的,我只是将警报视图子类化,以便我可以添加一些自己的代码。

我创建了一个背景图片视图,我在其中添加了黑色版本的警告框。

当调用drawRect时,我将背景图像视图的大小调整为正确的高度和宽度。

它有点像黑客,但它并没有违反苹果公司制定的任何指导原则(我现在在商店里有一个应用程序)。

为了获得良好的背景图像,我只是从UI工具包中提取图像(谷歌那你会发现如何),只是制作了黑色版本而不是蓝色版本。

这些按钮实际上是透明的,可以拾取它们下面的颜色。所以不需要改变它们。

希望有所帮助。

确实有可能。而且也很容易。总而言之,大约有5行代码; - )

编辑:问问,我们会收到

@implementation BlackAlertView

- (void) drawRect:(CGRect) rect
{
    //Force our background image to be the right size.
    _backgroundImageView.frame = rect;
}

- (void) dealloc
{
    ReleaseAndNull(_backgroundImageView);
    [super dealloc];
}

- (void)show
{   
    UIImage *alertBoxImage = [[UIImage imageNamed:@"UIPopupAlertSheetBackground_black.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:40];

    _backgroundImageView = [[UIImageView alloc] initWithImage:alertBoxImage];
    [self addSubview:_backgroundImageView];
    [self sendSubviewToBack:_backgroundImageView];  

    [super show];
}

@end

就像我说它不是purdy,实际上它是5行以上。但它完成了工作。

克里斯。

答案 1 :(得分:0)

不,你不能。您必须创建自定义视图并使用 presentModalViewController

显示它