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;
我采用的是方法一,方法二我没有办法调整返回按钮的位置
转载于:https://www.cnblogs.com/zhangxueke/p/7365180.html
iOS app 右滑返回相关推荐
- iOS 右滑返回失效问题终极解决方案
iOS 的右滑返回是必不可少的一项功能,否则用户体验会大打折扣,但是会经常会碰到某些页面右滑返回失效的情况,下面记录一下解决各种情况下右滑返回失效的方法: 1. 自定义返回按钮 如果页面上是自定义的返 ...
- ios开发返回按钮消失_iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决...
我相信针对每一个iOS开发者来说~除了根视图控制器外~所有的界面通过导航栏push过去的界面都是可以通过右滑来返回上一个界面~其实~在很多应用和APP中~用户已经习惯了这个功能~然而~作为开发者的我们 ...
- 【转】iOS右滑返回手势全解和最佳实施方案
序言 在ios7以后,苹果推出了手势滑动返回功能,也就是从屏幕左侧向右滑动可返回上一个界面.大大提高了APP在大屏手机和iPad上的操作体验,场景切换更加流畅.做右滑返回手势配置时,可能会遇到的 问题 ...
- iOS 为自定义返回按钮的页面添加右滑返回
2019独角兽企业重金招聘Python工程师标准>>> 苹果一直都在人机交互中尽力做到极致,在iOS7中,新增加了一个小小的功能,也就是这个api:self.navigationCo ...
- App开发流程之右滑返回手势功能续
上一篇记录了利用系统私有变量和方法实现右滑返回手势功能:http://www.cnblogs.com/ALongWay/p/5893515.html 这篇继续记录另一种方案:利用UINavigatio ...
- 禁用导航栏的右滑返回实现全屏手势返回
今天发现项目中push 的也面的右滑都无法pop 查阅相关资料发现 导航栏右滑手势失效基本有两种情况 1: self.navigationController.interactivePopGestur ...
- ios7自定义返回按钮后,右滑返回功能失效解决方法
ios7自定义返回按钮后,右滑返回功能失效解决方法 -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //开 ...
- 苹果侧边滑动返回_iOS系统右滑返回手势问题及解决方案
在iOS7之后,苹果推出了手势滑动返回功能,也就是从屏幕左侧向右滑动可返回上一个界面.大大提高了APP在大屏手机和iPad上的操作体验,场景切换更加流畅. 常见的问题有: 1.右滑手势失效 2.右滑手 ...
- android右滑返回动画,Android仿微信右滑返回功能的实例代码
先上效果图,如下: 先分析一下功能的主要技术点,右滑即手势判断,当滑到一直距离时才执行返回,并且手指按下的位置是在屏幕的最左边(这个也是有一定范围的), 这些可以实现onTouchEvent来实现. ...
最新文章
- Ubuntu终端回收站
- 深入浅出CMake(一):基础篇
- 第三十一讲 非线性微分自治方程组及图解
- k8s之CRD定义map[string]interface{}类型
- array_merge
- 【转】js之iframe子页面与父页面通信
- 搞硬件,钱少破事多,只能另谋出路!
- LeetCode—33. 搜索旋转排序数组
- 前端学习(2868):vue3数据劫持解析3
- AutoMapper 9.0的改造
- 电脑fps低怎么办_电脑想要英雄联盟玩的流畅,主要看哪几个方面?
- 130 行代码模仿火爆抖音的“蚂蚁呀嘿”特效,你学会了吗?
- 使用剪切板[3]: SetComponent、GetComponent
- hdu 4355 Party All the Time
- Android View动画
- C/C++ 图像二进制存储与读取
- 【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法
- DES算法是对称算法吗,能否通过在线工具进行DES解密?
- oracle服务名XDB_Oracle XDB和XPT
- Python开发——8.模块
热门文章
- 逆向工具之IDA的使用
- 十进制数转换为二进制数
- identifier of an instance of was altered from to n
- mac os 和 ubuntu 上测试工具check-0.9.10的安装
- 【C/C++多线程编程之六】pthread互斥量
- C++其他进制转十进制
- Java小结(二)——打印矩形和九九乘法表
- android纹理缓存,Android OpenGLES(七) 理解纹理与纹理过滤
- Linux Kernel 3.10内核源码分析--块设备层request plug/unplug机制
- matlab期末试题,Matlab期末考试试题库(共12套卷)