Пользовательский цвет в UIAlertView - PullRequest
1 голос
/ 01 декабря 2010

Привет всем. Я использовал приведенный ниже код, чтобы придать UIAlertView собственный цвет. Я использовал S.D.K. 3.2.3 и цвет менялся на нужный цвет. Но сегодня я обновил свой S.D.K. Теперь я использую 4.2.1, а также запустить этот код на этом S.D.K. это сработало. Но когда я проверил еще раз, цвет AlertView не изменился, но цвет, который я предоставил с изображением, переместился в обратном направлении окна просмотра предупреждений. Я не знаю, почему это происходит. Что-то не так, что я не работаю с IOS 4.2. Просто дайте мне знать, как это сделать в ios 4.2, код хорошо работал с 3.2.3 sdk. Код

UIAlertView *ForgotPassalert= [[UIAlertView alloc]initWithTitle:@"Status" message:@"An Email has sent to your Account Containing User Name and Password " delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"cancel",nil];

        CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0,
-120.0);
        [ForgotPassalert setTransform: moveUp];
        [ForgotPassalert show];

    #pragma mark (AlertView Custom Color)       
        UIImage *theImage = [UIImage imageNamed:@"Untitled-1.png"];    
        theImage = [theImage stretchableImageWithLeftCapWidth:16 topCapHeight:16];
        CGSize theSize = [ForgotPassalert frame].size;
        UIGraphicsBeginImageContext(theSize);

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

        UIGraphicsEndImageContext();
        [[ForgotPassalert layer] setContents:(id)theImage.CGImage];

        //[[Passalert layer]setBackgroundColor:[[UIColor colorWithRed:179.0f/255.0f green:21.0f/255.0f blue:17.0f/255.0f alpha:1.0f]CGColor]];
        [[ForgotPassalert layer]setCornerRadius:7.3F];   
        [ForgotPassalert release];

Ответы [ 2 ]

0 голосов
/ 24 августа 2012

Значит ли это, что нет другого способа изменить цвет, так как в моем приложении я сделал все в соответствии с цветовой схемой приложения, красной и черной, но только диалоги создают беспорядок с их по умолчанию синим цветом, который я использую xcode4.2 с раскадровкой, я внес изменения в UIActionSheet, но не могу изменить цвет фона AlertView.

0 голосов
/ 01 декабря 2010

Единственная возможная причина этого заключается в том, что Apple изменила бы структуру слоев AlertView или его реализацию.Вот почему вы не можете видеть измененный цвет.

По этой причине рекомендуется не нарушать внешний вид элементов управления по умолчанию (таких как UIAlertView, UIActionSheet, UIPickerView), поскольку Apple не предоставляет опубликованныеметоды для этого.И что бы вы ни делали, это всего лишь обходной путь, который теперь не работает.

Вам повезло, что ваше приложение не дает сбоя, поэтому не обращайте внимания на цвет, который не отображается в предупреждении.понять основные рекомендации по пользовательскому интерфейсу.

Спасибо,

Madhup

...