IOS:自定义UIAlertView不能正常工作

时间:2011-10-18 22:43:07

标签: ios xcode uialertview

在此链接中

http://joris.kluivers.nl/iphone-dev/?p=CustomAlert

有一个自定义警报视图的示例,但它没有正常工作,因为它有其经典的alertView。 在此链接中写道: 要将外观从默认值更改为我们自己的背景图像,需要覆盖drawRect:。我们不会调用super drawRect方法来阻止UIAlertView绘制默认外观。我们所做的就是绘制背景图片。

- (void) drawRect:(CGRect)rect {
// do not call the super drawRect

CGSize imageSize = self.backgroundImage.size;
[self.backgroundImage drawInRect:CGRectMake(0, 0, imageSize.width, imageSize.height)];
}

但它还没有用。

2 个答案:

答案 0 :(得分:0)

我不会尝试使用UIAlertView做类似的事情。

我想制作一个自定义的UIView,并在你想要显示信息时将其添加到你的视图中。

答案 1 :(得分:0)

使用this custom class创建自定义警报视图,没有任何问题。

使用其头文件创建一个类,并将上面的URL中的代码粘贴到每个.m.h文件中。将它们导入到项目中,然后将头文件导入到警报视图的类中。

#import "ProAlertView.h"

然后在需要的地方调用它。这是我用来调用自定义提醒视图的方法:

- (void)processHasErrors
{
//Due to internet connection or server error.
ProAlertView *alert = [[ProAlertView alloc] initWithTitle:NO_CONNECTION_ALERT_TITLE message: NO_CONNECTION_ALERT_MESSAGE delegate:self cancelButtonTitle:NO_CONNECTION_ALERT_VIEW_DISMISS_BUTTON otherButtonTitles:nil];

[alert setBackgroundColor:[UIColor colorWithRed:0.07 green:0.19 blue:0.35 alpha:0.8] withStrokeColor: 
 [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1]];


[alert show];
[activityIndicator stopAnimating];
}