Jelajahi Sumber

Factorize themed back button

Felix Paul Kühne 12 tahun lalu
induk
melakukan
22d16e345c

+ 1 - 0
AspenProject/UIBarButtonItem+Theme.h

@@ -12,4 +12,5 @@
 
 @interface UIBarButtonItem (Theme)
 + (UIBarButtonItem *)themedDoneButtonWithTarget:(id)target andSelector:(SEL)selector;
++ (UIBarButtonItem *)themedBackButtonWithTarget:(id)target andSelector:(SEL)selector;
 @end

+ 18 - 0
AspenProject/UIBarButtonItem+Theme.m

@@ -27,4 +27,22 @@
                               forState:UIControlStateNormal];
     return doneButton;
 }
+
++ (UIBarButtonItem *)themedBackButtonWithTarget:(id)target andSelector:(SEL)selector
+{
+    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"BUTTON_BACK", @"")
+                                                                   style:UIBarButtonItemStyleBordered
+                                                                  target:target
+                                                                  action:selector];
+    [backButton setBackgroundImage:[UIImage imageNamed:@"backButton"]
+                          forState:UIControlStateNormal
+                        barMetrics:UIBarMetricsDefault];
+    [backButton setBackgroundImage:[UIImage imageNamed:@"backButtonHighlight"]
+                          forState:UIControlStateHighlighted
+                        barMetrics:UIBarMetricsDefault];
+    [backButton setTitleTextAttributes:@{UITextAttributeTextShadowColor : [UIColor whiteColor], UITextAttributeTextColor : [UIColor blackColor]}
+                              forState:UIControlStateNormal];
+    return backButton;
+}
+
 @end

+ 2 - 3
AspenProject/VLCDropboxTableViewController.m

@@ -14,6 +14,7 @@
 #import "VLCAppDelegate.h"
 #import "VLCPlaylistViewController.h"
 #import "VLCDropboxConstants.h"
+#import "UIBarButtonItem+Theme.h"
 #import <DropboxSDK/DropboxSDK.h>
 
 @interface VLCDropboxTableViewController ()
@@ -50,9 +51,7 @@
     self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"dropbox-white"]];
     self.navigationItem.titleView.contentMode = UIViewContentModeScaleAspectFit;
 
-    _backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(goBack:)];
-    [_backButton setBackgroundImage:[UIImage imageNamed:@"backButton"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
-    [_backButton setBackgroundImage:[UIImage imageNamed:@"backButtonHighlight"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
+    _backButton = [UIBarButtonItem themedBackButtonWithTarget:self andSelector:@selector(goBack:)];
     self.navigationItem.leftBarButtonItem = _backButton;
 
     self.tableView.rowHeight = [VLCDropboxTableViewCell heightOfCell];