UIBarButtonItem+FLEX.m 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // UIBarButtonItem+FLEX.m
  3. // FLEX
  4. //
  5. // Created by Tanner on 2/4/20.
  6. // Copyright © 2020 Flipboard. All rights reserved.
  7. //
  8. #import "UIBarButtonItem+FLEX.h"
  9. @implementation UIBarButtonItem (FLEX)
  10. + (UIBarButtonItem *)flex_flexibleSpace {
  11. return [self systemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
  12. }
  13. + (UIBarButtonItem *)flex_fixedSpace {
  14. return [self systemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
  15. }
  16. + (instancetype)systemItem:(UIBarButtonSystemItem)item target:(id)target action:(SEL)action {
  17. return [[self alloc] initWithBarButtonSystemItem:item target:target action:action];
  18. }
  19. + (instancetype)itemWithCustomView:(UIView *)customView {
  20. return [[self alloc] initWithCustomView:customView];
  21. }
  22. + (instancetype)itemWithTitle:(NSString *)title target:(id)target action:(SEL)action {
  23. return [[self alloc] initWithTitle:title style:UIBarButtonItemStylePlain target:target action:action];
  24. }
  25. + (instancetype)doneStyleitemWithTitle:(NSString *)title target:(id)target action:(SEL)action {
  26. return [[self alloc] initWithTitle:title style:UIBarButtonItemStyleDone target:target action:action];
  27. }
  28. + (instancetype)itemWithImage:(UIImage *)image
  29. style:(UIBarButtonItemStyle)style
  30. target:(id)target
  31. action:(SEL)action {
  32. return [[self alloc] initWithImage:image style:style target:target action:action];
  33. }
  34. + (instancetype)disabledSystemItem:(UIBarButtonSystemItem)system {
  35. UIBarButtonItem *item = [self systemItem:system target:nil action:nil];
  36. item.enabled = NO;
  37. return item;
  38. }
  39. + (instancetype)disabledItemWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style {
  40. UIBarButtonItem *item = [self itemWithTitle:title target:nil action:nil];
  41. item.enabled = NO;
  42. return item;
  43. }
  44. + (instancetype)disabledItemWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style {
  45. UIBarButtonItem *item = [self itemWithImage:image style:style target:nil action:nil];
  46. item.enabled = NO;
  47. return item;
  48. }
  49. @end