Знам, че 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];
}];