iOS app 右滑返回操作的两种方法

 更新时间:2017年08月15日 16:26:44   作者:花落冉溪何处归  
这篇文章主要介绍了iOS app 右滑返回操作的相关资料,需要的朋友可以参考下

前提条件,存在A和B两个页面,A是主界面,A push 到 B

方法一:如果B页面的返回按钮要用自定义的按钮(在iOS7中,如果使用了UINavigationController,那么系统自带的附加了一个从屏幕左边缘开始滑动可以实现pop的手势。但是,如果自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。)

在A界面:

- (void)viewDidAppear:(BOOL)animated {
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;//重新设置代理
self.navigationController.interactivePopGestureRecognizer.enabled = NO;//本页面不能右滑
}

在B里面:

设置返回按钮:

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.frame = CGRectMake(5, 2, 21, 35);
[backBtn setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal];
[[backBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
[self.navigationController popViewControllerAnimated:YES];
}];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem = backItem;
self.navigationController.interactivePopGestureRecognizer.enabled = YES;//最重要的一步

方法二:在A页面里面(A页面里面的backBarButtonItem其实就是我们看到的B页面的返回按钮,B页面的leftBar是左侧的按钮,注意优先级,B里面有自定义leftBar,显示B页面的,如果没有,看A界面,如果里面有backBarButtonItem,显示,如果没有,就是系统默认的那个)

UIImage* image = [UIImage imageNamed:@"back"];
UIBarButtonItem *item = [[UIBarButtonItem alloc] init];
[item setBackButtonBackgroundImage:[image resizableImageWithCapInsets:UIEdgeInsetsMake(0, image.size.width, 0, 0)] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0) forBarMetrics:UIBarMetricsDefault];
self.navigationItem.backBarButtonItem = item;
self.navigationItem.backBarButtonItem = item;

我采用的是方法一,方法二我没有办法调整返回按钮的位置

总结

以上所述是小编给大家介绍的iOS app 右滑返回操作的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • iOS关键字static extern const使用示例详解

    iOS关键字static extern const使用示例详解

    这篇文章主要为大家介绍了iOS关键字static extern const使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • iOS 获取当前时间及时间戳的互换实例

    iOS 获取当前时间及时间戳的互换实例

    下面小编就为大家分享一篇iOS 获取当前时间及时间戳的互换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Objective-C中编程中一些推荐的书写规范小结

    Objective-C中编程中一些推荐的书写规范小结

    这篇文章主要介绍了Objective-C的一些编程书写规范小结,包括类与方法等面向对象编程相关的代码编写风格,需要的朋友可以参考下
    2016-04-04
  • IOS开发之路--C语言基础知识

    IOS开发之路--C语言基础知识

    当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中。
    2014-08-08
  • 针对iOS10新增Api的详细研究

    针对iOS10新增Api的详细研究

    这篇文章主要针对iOS10新增Api进行详细研究,基于Api层面,着重看一些具体用法所做的笔记,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • IOS如何使用CAShapeLayer实现复杂的View的遮罩效果

    IOS如何使用CAShapeLayer实现复杂的View的遮罩效果

    这篇文章主要为大家详细介绍了IOS如何使用CAShapeLayer实现复杂的View的遮罩效果,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • iOS11 WKWebView 无法加载内容的解决方法

    iOS11 WKWebView 无法加载内容的解决方法

    这篇文章主要介绍了iOS11 WKWebView 无法加载内容,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • iOS自定义alertView提示框实例分享

    iOS自定义alertView提示框实例分享

    这是一款可以随意改变弹框背景色,按钮背景色,提示消息字体颜色的iOS alertView提示框,想要用于这样一款alertView提示框的朋友不要错过
    2016-04-04
  • IOS开发Objective-C Runtime使用示例详解

    IOS开发Objective-C Runtime使用示例详解

    这篇文章主要为大家介绍了IOS开发Objective-C Runtime使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • iOS开发探索多线程GCD队列示例详解

    iOS开发探索多线程GCD队列示例详解

    这篇文章主要为大家介绍了iOS开发探索多线程GCD队列示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论