In meiner App gebe ich Benutzer eine Option zum Ändern der Schriftart der gesamten App. Um dies zu tun gebe ich dem Benutzer eine Liste von Optionen (wie Fett, Semibold, Normal, Dünn usw.). Sobald der Benutzer eine der obigen Optionen auswählt, speichere ich diesen Wert in den NSUserDefaults.So ändern Sie die volle ios App Schriftart programmgesteuert
Jetzt, da der Benutzer seine Option ausgewählt hat, sollte ich die Schriftart meiner ganzen App ändern. Für das gleiche habe ich eine Kategorie
#import "UILabel+Helper.h"
@implementation UILabel (Helper)
- (void)setSubstituteFontName:(NSString *)name UI_APPEARANCE_SELECTOR {
if ([name isEqual: kAppFontSFTextBold]) {
self.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
}
else if ([name isEqual:kAppFontSFTextSemiBold]) {
self.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline];
}
else if ([name isEqual: kAppFontSFTextMedium]) {
self.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
}
else if ([name isEqual: kAppFontSFTextRegular]) {
self.font = [UIFont preferredFontForTextStyle:UIFontTextStyleCaption1];
}
else if ([name isEqual: kAppFontSFTextLight]) {
self.font = [UIFont preferredFontForTextStyle:UIFontTextStyleCaption2];
}
// self.font = [UIFont fontWithName:name size:self.font.pointSize];
}
@end
Aber diese Veränderung in meiner App zu machen Ich habe meine App programmatisch neu zu starten und Apfel, dass nicht unterstützt. Nachdem ich einige Antworten gelesen hatte, wurde mir klar, dass ich meine App mit exit (0) zwangsweise beenden kann.
Sobald der Benutzer die Option auswählt, speichere ich den ausgewählten Wert wie oben erwähnt lokal und beende (0). Jetzt muss der Benutzer die App selbst neu starten.
Ist dieser Ansatz richtig oder nicht? Wenn nicht, bitte schlagen Sie mir eine bessere Lösung vor.
exit (0) sehen die Ablehnung Ihrer Anwendung führen wird aus Apfel –