全局设置页面颜色 返回按钮样式 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

转载于:https://www.cnblogs.com/huangzs/p/11474784.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值