Изменение цвета предупреждений - PullRequest
0 голосов
/ 06 апреля 2010

Как изменить цвет окна просмотра предупреждений с синего на черный?

Любой, пожалуйста, помогите !!

Ответы [ 2 ]

7 голосов
/ 06 апреля 2010

Думаю, вы хотите что-то вроде этого:

Вид черного оповещения http://img.skitch.com/20100405-n2ka11en1u63kcpfu6x7et29mc.jpg

Чтобы добиться этого, я просто разделил представление предупреждений на подклассы, чтобы я мог добавить немного своего собственного кода.

Я создал вид фонового изображения, в который поместил черную версию окна предупреждения.

И когда вызывается drawRect, я изменяю размер фона изображения, чтобы получить правильную высоту и ширину.

Это что-то вроде хака, но это не нарушает никаких рекомендаций Apple (у меня есть приложение в магазине, использующее это).

Чтобы получить хорошее фоновое изображение, я просто извлек изображения из набора UI (поищите в Google, и вы узнаете, как это сделать) и просто сделал черную версию вместо синей.

Кнопки на самом деле прозрачные и выбирают любой цвет под ними. Поэтому не нужно их менять.

Надеюсь, это поможет.

Это действительно возможно. И довольно легко. Всего около 5 строк кода; -)

Редактировать: спросите, и вы получите

@implementation BlackAlertView

- (void) drawRect:(CGRect) rect
{
    //Force our background image to be the right size.
    _backgroundImageView.frame = rect;
}

- (void) dealloc
{
    ReleaseAndNull(_backgroundImageView);
    [super dealloc];
}

- (void)show
{   
    UIImage *alertBoxImage = [[UIImage imageNamed:@"UIPopupAlertSheetBackground_black.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:40];

    _backgroundImageView = [[UIImageView alloc] initWithImage:alertBoxImage];
    [self addSubview:_backgroundImageView];
    [self sendSubviewToBack:_backgroundImageView];  

    [super show];
}

@end

Как я уже сказал, это не мурлыкание, а на самом деле это всего несколько строк Но он выполняет свою работу.

Крис.

0 голосов
/ 06 апреля 2010

Нет, ты не можешь. Вам нужно будет создать пользовательский вид и отобразить его, используя presentModalViewController

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...