использовать методы UIAppearance для настройки UIAlertView

Я знаю, что UIAlertView соответствует UIAppearance и UIAppearanceContainer.

Но как мне использовать UIAppearance для настройки/стиля UIAlertView? Я не могу найти его в сети.


person Nikita P    schedule 18.12.2012    source источник


Ответы (3)


Вы не можете использовать UIAppearance для настройки UIAlertView.

UIAlertView отображается только как имеющий UIAppearance, потому что UIView соответствует UIAppearance, а UIAlertView является подклассом UIView.

Хотя на самом деле это не реализуется.

person Fogmeister    schedule 18.12.2012

Если вы хотите использовать функциональность UIAlertView, модальный вид и т. д., вы можете создать подкласс.

Вот пример: http://www.albertopasca.it/whiletrue/2012/07/objective-c-modal-view-navigation-tabbar-controller-projects/

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

person elp    schedule 18.12.2012

Если вы хотите настроить 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];
}];
person Michal Zaborowski    schedule 20.12.2012
comment
Вы использовали это в приложениях, которые есть в AppStore? В документации четко указано, что UIAlertView не должен быть подклассом и предназначен для использования как есть: developer.apple.com/library/ios/documentation/uikit/reference/ - person Jasper; 04.03.2014