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

  • 相关阅读:
    关于sip和sip的客户端
    android 使用vcard示例
    RTCP:RTP 控制协议(RTP Control Protocol)
    《战地情人》对白摘录
    终于把《ASP.NET 1.1入门经典—— VISUAL C# .NET 2003编程篇》买回来了
    郁闷~居然要用ASP开发生产监控系统
    给计算机系学生的建议[读后感]
    走出你职业生涯的瓶颈读后感
    什么是爱?[转载朋友发给我的信息]
    Boost学习笔记 BOOST_STATIC_ASSERT
  • 原文地址:https://www.cnblogs.com/huangzs/p/11474784.html
Copyright © 2020-2023  润新知