Last active
January 4, 2016 14:09
-
-
Save dictav/8632557 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // navigation bar の背景画像を設定 | |
| [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationbar.png"] | |
| forBarMetrics:UIBarMetricsDefault]; | |
| UIImage *backButtonImage = [[UIImage imageNamed:@"back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 28, 0, 0)]; | |
| [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage | |
| forState:UIControlStateNormal | |
| barMetrics:UIBarMetricsDefault]; | |
| [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-100, 0) | |
| forBarMetrics:UIBarMetricsDefault]; | |
| // Setting UIViewController | |
| [UIViewController setDefaultSettingWithBlock:^(UIViewController *viewController) { | |
| UIBarButtonItem *backBarButtonItem; | |
| backBarButtonItem = viewController.navigationItem.backBarButtonItem; | |
| if (!backBarButtonItem) { | |
| backBarButtonItem = [UIBarButtonItem new]; | |
| [viewController.navigationItem setBackBarButtonItem:backBarButtonItem]; | |
| } | |
| [backBarButtonItem setBackButtonBackgroundImage:backButtonImage | |
| forState:UIControlStateNormal | |
| barMetrics:UIBarMetricsDefault]; | |
| [backBarButtonItem setBackButtonTitlePositionAdjustment:UIOffsetMake(-100, 0) | |
| forBarMetrics:UIBarMetricsDefault]; | |
| // 背景画像を設定 | |
| UIImage *bgImage = [UIImage imageNamed:@"background.png"]; | |
| viewController.view.backgroundColor = [UIColor colorWithPatternImage:bgImage]; | |
| }]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #import "UIViewController+DefaultSetting.h" | |
| #import <objc/runtime.h> | |
| @implementation UIViewController (DefaultSetting) | |
| static void (^settingHandler)(UIViewController *viewController); | |
| + (void)setDefaultSettingWithBlock:(void (^)(UIViewController* viewController))handler | |
| { | |
| settingHandler = handler; | |
| SEL originalSelector = @selector(viewDidLoad); | |
| SEL overrideSelector = @selector(swizz_viewDidLoad); | |
| Method originalMethod = class_getInstanceMethod(self, originalSelector); | |
| Method overrideMethod = class_getInstanceMethod(self, overrideSelector); | |
| method_exchangeImplementations(originalMethod, overrideMethod); | |
| } | |
| - (void)swizz_viewDidLoad | |
| { | |
| [self swizz_viewDidLoad]; //swizz_* was renamed by method_exchangeImplementations() | |
| settingHandler(self); | |
| } | |
| @end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment