zoukankan      html  css  js  c++  java
  • 自定义导航控制器返回按钮以及隐藏返回按钮的文字

    自定义导航控制器,重写下面的方法,创建一个返回箭头按钮

     1 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
     2 
     3 {
     4 
     5     if (self.viewControllers.count > 0) {
     6 
     7         // 改变了返回按钮的图标
     8 
     9         viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"pull_left_btn"] style:UIBarButtonItemStyleDone target:self action:@selector(back)];
    10 
    11     }
    12 
    13     [super pushViewController:viewController animated:YES];
    14 
    15 }

    // 返回

    1 - (void)back
    2 
    3 {
    4 
    5     [self popViewControllerAnimated:YES];
    6 
    7 }

    但是这样会导致弹出手势失效所以需要在- (void)viewDidLoad中添加以下代码

    - (void)viewDidLoad {
    
        [super viewDidLoad];
    
        // 清空弹出手势的代理,就可以恢复弹出手势
    
        self.interactivePopGestureRecognizer.delegate = nil;
    
    }

    隐藏返回按钮的文字和隐藏返回按钮(如果标题文字过长会导致下一个push的页面标题文字不居中)

        // 隐藏返回按钮的文字
        [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
    
        // 隐藏返回按钮
        self.navigationItem.hidesBackButton = YES;
  • 相关阅读:
    The nineteenth day
    The eighteen day
    弱读下
    弱读上
    失爆 爆破音
    连读
    The seventeenth day
    The sixteenth day
    React 官方脚手架 create-react-app快速生成新项目
    pc端引入微信公众号文章
  • 原文地址:https://www.cnblogs.com/iamjjh/p/4629142.html
Copyright © 2011-2022 走看看