Instead of trying to set / disable the appearance depending on your situation, you can subclass your own UIAlertController and use
UILabel *appearanceLabel = [UILabel appearanceWhenContainedInInstancesOfClasses:@[[MyAlertController class]]]; [appearanceLabel setAppearanceFont:kFontRegular(18)];
then when the action sheet opens, it will not be your subclass, so the rule will not apply.
Steve source share