iOS 全屏滑动返回

想实现全屏滑动返回时可以使用FDFullscreenPopGesture,传送门https://github.com/forkingdog/FDFullscreenPopGesture
下面介绍一下FDFullscreenPopGesture的简单使用
界面效果如下

1.png

首先将文件加入工程,对于有Navigation Bar的不用做任何修改就能支持全屏滑动返回,如

2.png

如果没有Navigation Bar需要添加如下代码

#pragma mark - life cycle
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 隐藏 Navigation Bar
    self.fd_prefersNavigationBarHidden = YES;
    self.view.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:self.myBtn];
    self.myBtn.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width - 200) / 2.0, 200, 200, 40);
}

效果如下

3.png

如果页面中有scrollView需要添加如下代码

@implementation UIScrollView (DMFullScreen)

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    if (self.contentOffset.x <= 0) {
        if ([otherGestureRecognizer.delegate isKindOfClass:NSClassFromString(@"_FDFullscreenPopGestureRecognizerDelegate")]) {
            return YES;
        }
    }
    
    return NO;
}


@end

效果如下

4.png

如果想在页面中禁用全屏滑动返回,需要添加如下代码

#pragma mark - life cycle
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.title = @"禁止全屏滑动返回";
    self.view.backgroundColor = [UIColor whiteColor];
    
    // 禁止滑动返回
    self.fd_interactivePopDisabled = YES;
    
    [self.view addSubview:self.systemLabel];
    self.systemLabel.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width - 220) / 2, 100, 220, 30);
    
    [self.view addSubview:self.customLabel];
    self.customLabel.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width - 220) / 2, 200, 220, 30);
    
    [self.view addSubview:self.qrCodeImgView];
    self.qrCodeImgView.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width - 129) / 2, 240, 129, 129);
}

效果如下

5.png

FDFullscreenPopGesture 的实现原理可以参考这篇文章(传送门http://blog.sunnyxx.com/2015/06/07/fullscreen-pop-gesture/
)以及这篇文章(传送门http://www.jianshu.com/p/d39f7d22db6c )。

全屏滑动返回的示例就结束啦...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 全屏返回手势 本文章摘自于:一个丝滑的全屏滑动返回手势 自 iOS7 之后,Apple 增加了屏幕边缘右划返回交互...
    许威彬阅读 2,233评论 4 9
  • 前言 首先我们自定义一个自己的导航控制器 在viewDidLoad方法里面添加全屏滑动手势 通过打印结果我们可以看...
    浩然爸阅读 297评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,625评论 25 709
  • u
    孝小生阅读 257评论 0 0
  • 我一直想自己建立一个个人网站。不是用wordpress来搞一个好看的但是却黑盒的网站,而是用代码敲一个原生的网站。...
    问题在bug里阅读 644评论 0 0

友情链接更多精彩内容