Я знаю, что UIAlertView
соответствует UIAppearance
и UIAppearanceContainer
.
Но как мне использовать UIAppearance
для настройки/стиля UIAlertView
? Я не могу найти его в сети.
Я знаю, что UIAlertView
соответствует UIAppearance
и UIAppearanceContainer
.
Но как мне использовать UIAppearance
для настройки/стиля UIAlertView
? Я не могу найти его в сети.
Вы не можете использовать UIAppearance
для настройки UIAlertView
.
UIAlertView
отображается только как имеющий UIAppearance
, потому что UIView
соответствует UIAppearance
, а UIAlertView
является подклассом UIView
.
Хотя на самом деле это не реализуется.
Если вы хотите использовать функциональность UIAlertView
, модальный вид и т. д., вы можете создать подкласс.
Вот пример: http://www.albertopasca.it/whiletrue/2012/07/objective-c-modal-view-navigation-tabbar-controller-projects/
надеюсь это поможет.
Если вы хотите настроить UIAlertView, я создал подкласс UIAlertView, вы можете найти его на github WCAlertView, который поддерживает аналогичные прокси для UIAppearance. Вы можете использовать его для установки внешнего вида по умолчанию для всех WCAlertView:
[WCAlertView setDefaultCustomiaztonBlock:^(WCAlertView *alertView) {
alertView.labelTextColor = [UIColor colorWithRed:0.11f green:0.08f blue:0.39f alpha:1.00f];
alertView.labelShadowColor = [UIColor whiteColor];
UIColor *topGradient = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:1.0f];
UIColor *middleGradient = [UIColor colorWithRed:0.93f green:0.94f blue:0.96f alpha:1.0f];
UIColor *bottomGradient = [UIColor colorWithRed:0.89f green:0.89f blue:0.92f alpha:1.00f];
alertView.gradientColors = @[topGradient,middleGradient,bottomGradient];
alertView.outerFrameColor = [UIColor colorWithRed:250.0f/255.0f green:250.0f/255.0f blue:250.0f/255.0f alpha:1.0f];
alertView.buttonTextColor = [UIColor colorWithRed:0.11f green:0.08f blue:0.39f alpha:1.00f];
alertView.buttonShadowColor = [UIColor whiteColor];
}];