IOS: пользовательский UIAlertView не работает нормально - PullRequest
0 голосов
/ 19 октября 2011

по этой ссылке

http://joris.kluivers.nl/iphone-dev/?p=CustomAlert

есть пример настраиваемого представления предупреждений, но он не работает нормально, потому что у него всегда свой классический прямоугольник alertView. В этой ссылке написано что: Чтобы изменить внешний вид по умолчанию на наше собственное фоновое изображение, необходимо переопределить drawRect :. Мы не вызываем метод super drawRect, чтобы UIAlertView не отображал внешний вид по умолчанию. Все, что мы делаем, это рисуем фоновое изображение.

- (void) drawRect:(CGRect)rect {
// do not call the super drawRect

CGSize imageSize = self.backgroundImage.size;
[self.backgroundImage drawInRect:CGRectMake(0, 0, imageSize.width, imageSize.height)];
}

но пока не работает.

Ответы [ 2 ]

0 голосов
/ 12 июня 2012

Используйте этот пользовательский класс для создания настраиваемого представления предупреждений без каких-либо проблем.

Создайте класс с его заголовочным файлом и вставьте код из URL-адреса выше в каждый из .m и .h файлы.Импортируйте их в свой проект, а затем импортируйте файл заголовка в класс, для которого вы просматриваете предупреждение.

#import "ProAlertView.h"

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

- (void)processHasErrors
{
//Due to internet connection or server error.
ProAlertView *alert = [[ProAlertView alloc] initWithTitle:NO_CONNECTION_ALERT_TITLE message: NO_CONNECTION_ALERT_MESSAGE delegate:self cancelButtonTitle:NO_CONNECTION_ALERT_VIEW_DISMISS_BUTTON otherButtonTitles:nil];

[alert setBackgroundColor:[UIColor colorWithRed:0.07 green:0.19 blue:0.35 alpha:0.8] withStrokeColor: 
 [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1]];


[alert show];
[activityIndicator stopAnimating];
}
0 голосов
/ 19 октября 2011

Я бы не стал делать что-то подобное, используя UIAlertView.

Я бы сделал пользовательский UIView и добавил бы его в свой View, когда вы хотите отобразить сообщение.

...