iOS 在NavigationController 基类中 自定义全局后退按钮 且 开启手势后退

本文介绍了如何在iOS应用中为NavigationController创建一个基类,以实现全局自定义的后退按钮,并开启手势后退功能。通过重写pushViewController方法,设置隐藏底部Tabbar,并添加自定义的后退按钮图片。同时,启用滑动手势进行页面返回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置全局后退按钮,要写一个基类 ,继承自UINavigationController;

这里就以leftBarButtonItems 为例, 其他也是一样的;

单个的也能设置哦!!!


///重写push方法 push的控制器隐藏tabbar

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

{

    // 隐藏tabbar

    viewController.hidesBottomBarWhenPushed =YES;

 

     //1.添加后退按钮

    [selfaddBackButton:viewController];

    

    [superpushViewController:viewControlleranimated:animated];

}




//2 自定义后退按钮

- (void)addBackButton:(UIViewController *)viewController {

    

    

    //开启手势后退

//    self.interactivePopGestureRecognizer.delegate = (id)self;

    //开启手势滑动后退

    if ([selfrespondsToSelector:@selector(interactivePopGestureRecognizer)]) {

        self.interactivePopGestureRecognizer.enabled = YES;

    }

    

    UIBarButtonItem *back = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"backImage"]style:UIBarButtonItemStylePlaintarget:selfaction:@selector(backClick)];

    

    //间距

    UIBarButtonItem *fixed = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];

    fixed.width = -10;

    

    viewController.navigationItem.leftBarButtonItems =@[fixed,back];

}


//点击后退的时候执行的方法

- (void)backClick {

    [selfpopViewControllerAnimated:YES];

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值