UIAlertview的定制没有在iPhone上显示?

时间:2012-03-16 16:00:01

标签: ios uialertview

我在iphone中有一个应用程序,我使用下面的代码自定义我的alertview。它在模拟器中运行正常。但是当我将它添加到我的iphone时它显示的是同一个蓝色的。没有我的自定义视图。有人可以帮我吗?

UIAlertView *theAlert = [[UIAlertView alloc] initWithTitle:@"title" message:@"canceled"
                                                       delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
//[alert setUIColor:[UIColor brownColor]]; 
/*[alert show];
[alert release];*/

//UIAlertView *theAlert = [[UIAlertView alloc] initWithTitle:@"Message" message:@"canceled"
                                                       //delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

[theAlert show];

UILabel *theTitle = [theAlert valueForKey:@"_titleLabel"];
[theTitle setTextColor:[UIColor whiteColor]];

UILabel *theBody = [theAlert valueForKey:@"_bodyTextLabel"];
[theBody setTextColor:[UIColor whiteColor]];
theBody.font = [UIFont boldSystemFontOfSize:16.0];
UIImage *theImage = [UIImage imageNamed:@"pop_up.png"];    
theImage = [theImage stretchableImageWithLeftCapWidth:28 topCapHeight:28];
CGSize theSize = [theAlert frame].size;

UIGraphicsBeginImageContext(theSize);    
[theImage drawInRect:CGRectMake(0, 0, theSize.width, theSize.height)];    
theImage = UIGraphicsGetImageFromCurrentImageContext();    
UIGraphicsEndImageContext();

//[[theAlert layer] setContents:[theImage CGImage]];
[[theAlert layer] setContents:(id)[theImage CGImage]];
[theAlert release];

1 个答案:

答案 0 :(得分:0)

这是一个可以帮助您的同一主题的旧对话。 Can I customise the UIAlertView [iPhone iOs 4]?

我建议你不要自定义它,因为在期货发布中你可能会遇到兼容性问题。 如果你强烈需要使用另一个AlertView创建一个新的,如果不是为什么不使用工作得很好的本机。如果它无法正常工作,请不要担心它们会在下一次发布时使用。