全网整合营销服务商

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

免费咨询热线: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滑动按钮效果  # 自定义  # 我们可以  # 器中  # 小编  # 我想  # 在此  # 最喜欢  # 就没  # 给大家  # 这样做  # 作为一个  # 当我们  # 大多数人  # 用它  # 解决方法  # 所述  # 给我留言  # 不可用  # 感谢大家  # 先给 


相关文章: 天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何快速上传建站程序避免常见错误?  建站主机如何选?高性价比方案全解析  济南网站建设制作公司,室内设计网站一般都有哪些功能?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  深圳网站制作案例,网页的相关名词有哪些?  建站之星价格显示格式升级,你的预算足够吗?  个人摄影网站制作流程,摄影爱好者都去什么网站?  ,怎么用自己头像做动态表情包?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  定制建站如何定义?其核心优势是什么?  制作网站的基本流程,设计网站的软件是什么?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何快速生成ASP一键建站模板并优化安全性?  开封网站制作公司,网络用语开封是什么意思?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  家具网站制作软件,家具厂怎么跑业务?  高防服务器如何保障网站安全无虞?  建站之星代理如何优化在线客服效率?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  制作农业网站的软件,比较好的农业网站推荐一下?  如何在建站主机中优化服务器配置?  建站上市公司网站建设方案与SEO优化服务定制指南  香港服务器租用每月最低只需15元?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  自助网站制作软件,个人如何自助建网站?  Android使用GridView实现日历的简单功能  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  建站之星安装需要哪些步骤及注意事项?  济南网站制作的价格,历城一职专官方网站?  如何规划企业建站流程的关键步骤?  如何选择高效便捷的WAP商城建站系统?  建站之星Pro快速搭建教程:模板选择与功能配置指南  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  微信推文制作网站有哪些,怎么做微信推文,急?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何通过西部数码建站助手快速创建专业网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何在IIS7中新建站点?详细步骤解析  开心动漫网站制作软件下载,十分开心动画为何停播?  如何彻底卸载建站之星软件?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何用景安虚拟主机手机版绑定域名建站?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  如何制作算命网站,怎么注册算命网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做? 

您的项目需求

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