全局设置页面颜色 返回按钮样式 iOS
作者:互联网
思路
1.建个UIViewController的分类
2.hook方法viewDidLoad(Aspects是三方库 可以不用)
3.看下面蓝色部分代码
#import "UIViewController+TJSwizzling.h" #import <Aspects.h> @implementation UIViewController (TJSwizzling)
+ (void)load{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ [self aspect_hookSelector:@selector(viewDidLoad) withOptions:AspectPositionAfter usingBlock:^(id<AspectInfo> aspectInfo) { [[aspectInfo instance] swizzling_viewDidLoad]; } error:NULL]; }); }
#pragma mark - ViewDidLoad - (void)swizzling_viewDidLoad{
//全局设置页面为白色 // UIInputWindowController 会覆盖每一个控制器,避免为其设置颜色 Class class = NSClassFromString(@"UIInputWindowController"); if (self.class != class) { self.view.backgroundColor = [UIColor whiteColor]; } //全局设置返回按钮样式 if (self.navigationController && [self isEqual:self.navigationController.topViewController]) { UIImage *buttonNormal = [[UIImage imageNamed:@"VideoBar_back"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; [self.navigationController.navigationBar setBackIndicatorImage:buttonNormal]; [self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:buttonNormal]; UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; self.navigationItem.backBarButtonItem = backItem; } }
@end |
标签:buttonNormal,self,iOS,UIViewController,class,viewDidLoad,按钮,navigationController 来源: https://www.cnblogs.com/huangzs/p/11474784.html