zoukankan      html  css  js  c++  java
  • 全局设置页面颜色 返回按钮样式 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

  • 相关阅读:
    影子的宽度&&盒子的个数
    【NOIP2017】【洛谷3958】奶酪cheese(并查集)(dfs)
    【USACO Jan 2011】【洛谷P3008】道路和航线 Roads and Planes
    增肥计划
    【洛谷1379】八数码
    【洛谷1985】【USACO07OPEN】翻转棋
    【NOI1995】极值问题
    车的放置
    【AtCoder
    Design Tutorial: Inverse the Problem
  • 原文地址:https://www.cnblogs.com/huangzs/p/11474784.html
Copyright © 2011-2022 走看看