Вы должны рассмотреть возможность не использовать UIAlertView, но иметь свой собственный AlertView, см. TSAlertView для альтернативной реализации, которая не является производной от UIAlertView.
TSAlertView позволяет вам устанавливать свой собственныйbackground image.
Другое решение , которое я не рекомендую , может быть:
Вы можете использовать introspection : зацикливание на подпредставлениях UIAlertViewsопределите тот, который содержит фоновое изображение, установите его скрытым и поместите ваше собственное фоновое изображение в индекс ниже / выше исходного изображения.
Я нашел этот проект: Подкласс UIAlertView для настройкивид оповещения .Он не работает для iOS 4.2+, но с моей идеей самоанализа вы можете заставить его работать снова:
измените -layoutSubviews
из JKCustomAlert
на:
- (void) layoutSubviews {
for (UIView *v in [self subviews]) {
if ([v class] == [UIImageView class]) {
[v setHidden:YES];
}
}
alertTextLabel.transform = CGAffineTransformIdentity;
[alertTextLabel sizeToFit];
CGRect textRect = alertTextLabel.frame;
textRect.origin.x = (CGRectGetWidth(self.bounds) - CGRectGetWidth(textRect)) / 2;
textRect.origin.y = (CGRectGetHeight(self.bounds) - CGRectGetHeight(textRect)) / 2;
textRect.origin.y -= 30.0;
alertTextLabel.frame = textRect;
alertTextLabel.transform = CGAffineTransformMakeRotation(- M_PI * .08);
}
Я НЕ обещаю, что этот трюк будет работать в будущих версиях iOS