美文网首页
自定义隐藏导航栏

自定义隐藏导航栏

作者: Leon1024 | 来源:发表于2019-05-26 17:13 被阅读0次

隐藏导航栏,在控制器自定义view当做导航栏的需求时用。
自定义的目的是为了保持原有的侧滑手势,又避免当导航栏的根控制器进行侧滑时引发异常的问题。

.h文件


NS_ASSUME_NONNULL_BEGIN

@interface LENHiddenNavigationController : UINavigationController

@end

NS_ASSUME_NONNULL_END

.m文件

#import "LENHiddenNavigationController.h"

@interface LENHiddenNavigationController () <UIGestureRecognizerDelegate>

@end

@implementation LENHiddenNavigationController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 成为 interactivePopGestureRecognizer 代理对象以响应侧滑动作
    self.interactivePopGestureRecognizer.delegate = self;
}

// 当控制器为导航的 rootViewController 的时候只拦截 interactivePopGestureRecognizer 手势
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    
    if ( gestureRecognizer == self.interactivePopGestureRecognizer ) {
        if ( self.viewControllers.count < 2 || self.visibleViewController == [self.viewControllers objectAtIndex:0] ) {
            return NO;
        }
    }
    
    return YES;
}

@end

相关文章

  • iOS 状态栏(statusbar)导航栏(navigation

    导航栏透明 导航栏渐变 状态栏字体颜色改变 导航栏隐藏如果导航栏自定义度高,需要完全自己重写,可以隐藏原来的导航栏...

  • iOS导航栏隐藏透明处理

    1: 导航栏隐藏之间跳转 & 导航栏隐藏后显示自定义导航栏(由于系统导航栏透明造成的动画问题 暂时还未找到...

  • swift-导航栏

    swift-导航栏直接上代码 导航栏整体背景颜色 导航栏左侧按钮 自定义 导航栏左侧 隐藏 导航栏右侧图片 参考:...

  • IOS 常用小知识 1

    导航栏常用隐藏方式 系统导航栏时常会限制很对视图的处理,所以经常会用到自定义导航栏,如果自定义导航栏的时候还需要保...

  • 导航栏透明度渐变处理逻辑(非自定义导航栏)

    根据列表滚动距离控制导航栏的透明度(非隐藏导航栏自定义) 1.自定义View, 放在导航栏来控制颜色变化 控制变化...

  • 自定义隐藏导航栏

    隐藏导航栏,在控制器自定义view当做导航栏的需求时用。自定义的目的是为了保持原有的侧滑手势,又避免当导航栏的根控...

  • iOS导航栏使用总结

    目录: 一、设置导航栏样式二、自定义导航栏返回按钮后侧滑不可用问题三、隐藏导航栏底部的分割线四、导航栏引起的布局问...

  • iOS 导航栏管理器(FJFNavigationBarManag

    一. 前言 我们产品需求中很经常会碰到某个界面是需要隐藏导航栏或者自定义导航栏,但是跳转到下个界面又需要显示导航栏...

  • 基类封装BaseVC、NavVC、TabBarVC

    一、GTBaseViewController 自定义左右返回键、添加MBProgressHUD、展示和隐藏导航栏。...

  • 隐藏导航栏

    隐藏导航栏 显示导航栏

网友评论

      本文标题:自定义隐藏导航栏

      本文链接:https://www.haomeiwen.com/subject/hnrftctx.html