iphone UIAlertView - пользовательский цвет фона - PullRequest
0 голосов
/ 13 декабря 2010

Мне нужно настроить цвет фона UIAlertView.

У меня есть пример кода, который отлично работает на iphone 3.x, но на iphone 4 в окне предварительного просмотра отображается синий цвет по умолчанию.

    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 Ответ

1 голос
/ 13 декабря 2010

Хотя это, скорее всего, возможно, не рекомендуется изменять этот тип вещей, так как простое обновление может привести к его поломке. Вместо этого попробуйте создать собственное представление о предупреждении, что довольно хорошо продемонстрировал Натан С.:

Как настроить вид предупреждений iOS?

...