Moin!
Ich habe wieder einen ...
Seid nicht überrascht, wenn ihr eine App mit farbiger Navigationbar und Weiß als tintColor erstellt: Es gibt an einigen Stellen Stolpersteine wenn barItems plötzlich "verschwunden" sind, z. B. beim UIImagePickerController oder UIActivityViewController. Bei letzterem ist beim Teilen per Mail der "Abbrechen"- und "Senden"-Button nicht mehr zu sehen, weil die NavigationBar weiß bzw. hellgrau wird, die Vordergrundfarbe aber weiß bleibt.
Abhilfe ist ein Invertieren der tintColor vor Aufruf des UIActivityViewControllers und Zurücksetzen beim Beenden (entweder nach Durchführung einer Aktivität oder beim Abbrechen ohne):
Alles anzeigen
Schönen Rest-Sonntag, Mattes
Ich habe wieder einen ...
Seid nicht überrascht, wenn ihr eine App mit farbiger Navigationbar und Weiß als tintColor erstellt: Es gibt an einigen Stellen Stolpersteine wenn barItems plötzlich "verschwunden" sind, z. B. beim UIImagePickerController oder UIActivityViewController. Bei letzterem ist beim Teilen per Mail der "Abbrechen"- und "Senden"-Button nicht mehr zu sehen, weil die NavigationBar weiß bzw. hellgrau wird, die Vordergrundfarbe aber weiß bleibt.
Abhilfe ist ein Invertieren der tintColor vor Aufruf des UIActivityViewControllers und Zurücksetzen beim Beenden (entweder nach Durchführung einer Aktivität oder beim Abbrechen ohne):
Quellcode
- activityViewController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError)
- {
- if (!activityType || completed)
- {
- // UIView / UIButton tint colors cannot be white as e.g. the mail composer is using a white navbar; to be reset once the activity view is dismissed without an activity or the activity was completed
- [[UIView appearanceWhenContainedInInstancesOfClasses:@[UINavigationBar.class]] setTintColor:[UIColor whiteColor]];
- [[UIButton appearanceWhenContainedInInstancesOfClasses:@[UINavigationBar.class]] setTintColor:[UIColor whiteColor]];
- }
- };
- [[UIView appearanceWhenContainedInInstancesOfClasses:@[UINavigationBar.class]] setTintColor:[UIColor colorNamed:@"CO_TintColor"]];
- [[UIButton appearanceWhenContainedInInstancesOfClasses:@[UINavigationBar.class]] setTintColor:[UIColor colorNamed:@"CO_TintColor"]];
Schönen Rest-Sonntag, Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.