全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS 自定义返回按钮保留系统滑动返回功能

先给大家展示下效果图:

 1.简介

使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一个返回按钮.这样系统默认的滑动返回手势效果就没有了.

2.解决方法

[1]从A这个控制器push到B这个控制器,我们想要自定义B的返回按钮,我们可以在A中设置

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"王俨" style:UIBarButtonItemStylePlain target:nil action:nil]; 

[2]在B控制器设置返回按钮,我想这应该是大多数人喜欢的选择,可是当我们在B控制器中设置self.navigationItem.leftBarButtonItem后发现系统的滑动返回手势失效了.那么如何可以保留系统的滑动返回手势了,我们可以B控制器中这样做.

@interface ViewController ()  
@end@implementation ViewController 
- (void)viewDidLoad { 
    [super viewDidLoad];    // 自定义返回按钮 
    UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 44, 44)]; 
    [button setTitle:@"王俨2" forState:UIControlStateNormal]; 
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
    [button addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:button]; 
} 
- (void)back:(UIButton *)button { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
- (void)viewWillAppear:(BOOL)animated { 
  [super viewWillAppear:animated];  if (self.navigationController.viewControllers.count > 1) {     // 记录系统返回手势的代理 
    _delegate = self.navigationController.interactivePopGestureRecognizer.delegate;     // 设置系统返回手势的代理为当前控制器 
    self.navigationController.interactivePopGestureRecognizer.delegate = self; 
  } 
} 
- (void)viewWillDisappear:(BOOL)animated { 
  [super viewWillDisappear:animated];   // 设置系统返回手势的代理为我们刚进入控制器的时候记录的系统的返回手势代理 
  self.navigationController.interactivePopGestureRecognizer.delegate = _delegate; 
}#pragma mark - UIGestureRecognizerDelegate- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {    return self.navigationController.childViewControllers.count > 1; 
} 
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {  return self.navigationController.viewControllers.count > 1; 
}@end 

以上所述是小编给大家介绍的iOS 自定义返回按钮保留系统滑动返回功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios  # 自定义滑动返回  # 自定义返回按钮  # python PyQt5/Pyside2 按钮右击菜单实例代码  # Python中PyQt5/PySide2的按钮控件使用实例  # PyQt5每天必学之切换按钮  # Android实现类似ios滑动按钮  # Qt模仿IOS滑动按钮效果  # 自定义  # 我们可以  # 器中  # 小编  # 我想  # 在此  # 最喜欢  # 就没  # 给大家  # 这样做  # 作为一个  # 当我们  # 大多数人  # 用它  # 解决方法  # 所述  # 给我留言  # 不可用  # 感谢大家  # 先给 


相关文章: ppt制作免费网站有哪些,ppt模板免费下载网站?  建站主机无法访问?如何排查域名与服务器问题  如何通过cPanel快速搭建网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  详解jQuery中基本的动画方法  如何将凡科建站内容保存为本地文件?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站制作的步骤包括,正确网址格式怎么写?  济南专业网站制作公司,济南信息工程学校怎么样?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  Java解压缩zip - 解压缩多个文件或文件夹实例  定制建站是什么?如何实现个性化需求?  公司网站设计制作厂家,怎么创建自己的一个网站?  如何通过免费商城建站系统源码自定义网站主题与功能?  ui设计制作网站有哪些,手机UI设计网址吗?  如何通过VPS搭建网站快速盈利?  如何在腾讯云服务器快速搭建个人网站?  Swift中swift中的switch 语句  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  如何快速生成专业多端适配建站电话?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  建站之星伪静态规则如何正确配置?  深圳网站制作培训,深圳哪些招聘网站比较好?  建站之星如何实现五合一智能建站与营销推广?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  建站主机是否等同于虚拟主机?  企业微网站怎么做,公司网站和公众号有什么区别?  如何在阿里云高效完成企业建站全流程?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  建站主机选哪家性价比最高?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  兔展官网 在线制作,怎样制作微信请帖?  建站之星ASP如何实现CMS高效搭建与安全管理?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  建站主机如何选?高性价比方案全解析  Python路径拼接规范_跨平台处理说明【指导】  如何在云主机上快速搭建多站点网站?  建站上市公司网站建设方案与SEO优化服务定制指南  如何选择高性价比服务器搭建个人网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何彻底删除建站之星生成的Banner?  网站制作新手教程,新手建设一个网站需要注意些什么?  如何快速生成高效建站系统源代码?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  如何确认建站备案号应放置的具体位置?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  高端云建站费用究竟需要多少预算? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。