diff --git a/Classes/ios/UIBarButtonItem+FlatUI.m b/Classes/ios/UIBarButtonItem+FlatUI.m index fa13521..2d8cb95 100644 --- a/Classes/ios/UIBarButtonItem+FlatUI.m +++ b/Classes/ios/UIBarButtonItem+FlatUI.m @@ -27,11 +27,30 @@ + (void) configureFlatButtonsWithColor:(UIColor *) color highlightedColor:(UIColor *)highlightedColor cornerRadius:(CGFloat) cornerRadius whenContainedIn:(Class )containerClass, ... { - va_list vl; - va_start(vl, containerClass); - id appearance = [UIBarButtonItem appearanceWhenContainedIn:containerClass, nil]; - va_end(vl); - [UIBarButtonItem configureItemOrProxy:appearance forFlatButtonWithColor:color highlightedColor:highlightedColor cornerRadius:cornerRadius]; + NSMutableArray *containerClasses = [NSMutableArray array]; + if (containerClass) { + [containerClasses addObject:containerClass]; + + va_list vl; + va_start(vl, containerClass); + Class arg; + while ((arg = va_arg(vl, Class))) { + [containerClasses addObject:arg]; + } + va_end(vl); + } + + id appearance; + if (@available(iOS 9.0, *)) { + appearance = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:containerClasses]; + } else { + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdeprecated-declarations" + appearance = [UIBarButtonItem appearanceWhenContainedIn:containerClass, nil]; + #pragma clang diagnostic pop + } + + [UIBarButtonItem configureItemOrProxy:appearance forFlatButtonWithColor:color highlightedColor:highlightedColor cornerRadius:cornerRadius]; } // only used pre-ios7