2010-12-13 10 views
0

UIAlertViewの背景色をカスタマイズする必要があります。iphone UIAlertView - カスタム背景色

iphone 3.xで完全に動作するサンプルコードがありますが、iPhone 4ではalertviewにデフォルトの青色が表示されます。

UIAlertView *alertView = 
[[[UIAlertView alloc] initWithTitle:@"Alerta" 
     message:msg 
      delegate:nil 
     cancelButtonTitle:@"OK" 
     otherButtonTitles:nil] autorelease]; 

[alertView show]; 

UILabel *theTitle = [alertView valueForKey:@"_titleLabel"]; 
[theTitle setTextColor:[UIColor redColor]]; 

UILabel *theBody = [alertView valueForKey:@"_bodyTextLabel"]; 
[theBody setTextColor:[UIColor whiteColor]]; 

UIImage *theImage = [UIImage imageNamed:@"Background.png"]; 
theImage = [theImage stretchableImageWithLeftCapWidth:0 topCapHeight:0]; 
CGSize theSize = [alertView frame].size; 

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

[[alertView layer] setContents:(id)theImage.CGImage]; 
[alertView show]; 

答えて

1

単純な更新がそれを壊す可能性があるので、このタイプのものを修正することはお勧めできません。 Nathan S:

How can I customize an iOS alert view?

によって、自分のアラートビューを作成してみてください。