използвайте 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