UIBarButtonItem+Theme.m 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // UIBarButtonItem+Theme.m
  3. // VLC for iOS
  4. //
  5. // Created by Romain Goyet on 14/06/13.
  6. // Copyright (c) 2013 Applidium. All rights reserved.
  7. //
  8. // Refer to the COPYING file of the official project for license.
  9. //
  10. #import "UIBarButtonItem+Theme.h"
  11. @implementation UIBarButtonItem (Theme)
  12. + (UIBarButtonItem *)themedDoneButtonWithTarget:(id)target andSelector:(SEL)selector
  13. {
  14. UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"BUTTON_DONE", @"")
  15. style:UIBarButtonItemStyleBordered
  16. target:target
  17. action:selector];
  18. if (SYSTEM_RUNS_IOS7_OR_LATER)
  19. doneButton.tintColor = [UIColor whiteColor];
  20. else {
  21. [doneButton setBackgroundImage:[UIImage imageNamed:@"doneButton"]
  22. forState:UIControlStateNormal
  23. barMetrics:UIBarMetricsDefault];
  24. [doneButton setBackgroundImage:[UIImage imageNamed:@"doneButtonHighlight"]
  25. forState:UIControlStateHighlighted
  26. barMetrics:UIBarMetricsDefault];
  27. [doneButton setTitleTextAttributes:@{UITextAttributeTextShadowColor : [UIColor whiteColor], UITextAttributeTextColor : [UIColor blackColor]}
  28. forState:UIControlStateNormal];
  29. }
  30. return doneButton;
  31. }
  32. + (UIBarButtonItem *)themedBackButtonWithTarget:(id)target andSelector:(SEL)selector
  33. {
  34. UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"BUTTON_BACK", @"")
  35. style:UIBarButtonItemStyleBordered
  36. target:target
  37. action:selector];
  38. if (SYSTEM_RUNS_IOS7_OR_LATER)
  39. backButton.tintColor = [UIColor whiteColor];
  40. else {
  41. [backButton setBackgroundImage:[[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 12, 0, 6)]
  42. forState:UIControlStateNormal
  43. barMetrics:UIBarMetricsDefault];
  44. [backButton setBackgroundImage:[[UIImage imageNamed:@"backButtonHighlight"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 12, 0, 6)]
  45. forState:UIControlStateHighlighted
  46. barMetrics:UIBarMetricsDefault];
  47. }
  48. [backButton setTitleTextAttributes:@{UITextAttributeTextShadowColor : [UIColor colorWithWhite:0. alpha:.37], UITextAttributeTextColor : [UIColor whiteColor]} forState:UIControlStateNormal];
  49. [backButton setTitlePositionAdjustment:UIOffsetMake(3, 0) forBarMetrics:UIBarMetricsDefault];
  50. return backButton;
  51. }
  52. + (UIBarButtonItem *)themedRevealMenuButtonWithTarget:(id)target andSelector:(SEL)selector
  53. {
  54. UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"menuCone"] style:UIBarButtonItemStyleBordered target:target action:selector];
  55. if (SYSTEM_RUNS_IOS7_OR_LATER)
  56. menuButton.tintColor = [UIColor whiteColor];
  57. else {
  58. [menuButton setBackgroundImage:[UIImage imageNamed:@"button"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
  59. [menuButton setBackgroundImage:[UIImage imageNamed:@"buttonHighlight"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
  60. }
  61. menuButton.accessibilityLabel = NSLocalizedString(@"OPEN_VLC_MENU", @"");
  62. menuButton.isAccessibilityElement = YES;
  63. return menuButton;
  64. }
  65. @end