iOS 优雅地隐藏导航栏NavigationBar (Objc)

@interface FSViewController () <UINavigationControllerDelegate>

@end

@implementation FSViewController

#pragma mark - lifeCycle
- (void)viewDidLoad {
    [super viewDidLoad];

    // 设置导航控制器的代理为self
    self.navigationController.delegate = self;
}

// 将要显示控制器
#pragma mark - UINavigationControllerDelegate
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    // 判断要显示的控制器是否是自己
    BOOL isSelf = [viewController isKindOfClass:[self class]];
    [self.navigationController setNavigationBarHidden:isSelf animated:YES];
}

参考资料:http://blog.csdn.net/ws1352864983/article/details/51932388



转载请注明出处:http://www.cnblogs.com/ficow/p/7141984.html

时间: 2024-11-03 14:23:13

iOS 优雅地隐藏导航栏NavigationBar (Objc)的相关文章

ios显示或隐藏导航栏的底线

根据产品需求要求把这个界面导航栏的底线去掉,下个控制器还需要有底线. 使用下面的代码实现 //在页面出现的时候就将黑线隐藏起来 -(void)viewWillAppear:(BOOL)animated { [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; [self.navigationController.navigation

ios 实现自定义状态栏StatusBar 和 导航栏navigationBar 的状态和颜色

很多app中可以看到不同与导航栏的状态栏的颜色,他妈的真绕嘴. 一.更改状态栏颜色 (StatusBar) 就是比如导航栏是红色的状态栏是绿色的. 要实现这样的效果其实很简单,就是添加一个背景view. 简单的实现过程如下: 1 // 设置导航颜色 可用 2 [self.navigationController.navigationBar setBarTintColor:[UIColor redColor]]; 3 //创建一个高20的假状态栏 4 UIView *statusBarView =

iOS隐藏导航栏底部的线条&amp; UINavigationBar小技巧

隐藏导航栏底部的线条 转载:https://www.jianshu.com/p/aa547432eae0 方法1 (单页面设置) [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; [self.navigationController.navigationBar setShadowImage:[UIImage new]]; 如果不

iOS导航栏NavigationBar的颜色,按钮和标题以及字体颜色

首先,层级关系: leftBarButtonItem.rightBarButtonItem.title都是加在UINavigationItem上的,UINavigationItem再加在NavigationBar上,NavigationBar对应唯一的NavigationController. 1. 设置导航栏NavigationBar的背景颜色: 在appdelegate里创建UINavigationController后 设置 (1.) setBarTintColor : 设置Nagivat

iOS 滑动隐藏导航栏-三种方式

/** 1隐藏导航栏-简单- */    self.navigationController.hidesBarsOnSwipe = YES; /** 2隐藏导航栏-不随tableView滑动消失效果 *///- (void)scrollViewDidScroll:(UIScrollView *)scrollView {//    //scrollView已经有拖拽手势,直接拿到scrollView的拖拽手势//    UIPanGestureRecognizer *pan = scrollVie

IOS 实现自定义的导航栏背景以及自定义颜色的状态栏(支持7.0以及低版本)

为尊重文章原作者,转载务必注明原文地址:http://www.cnblogs.com/wt616/p/3784717.html 先看效果图: 在自定义导航栏背景时,可能会遇到以下一些问题: 1.当设置导航栏背景后,状态栏的颜色也会跟着一起改变掉,这可能不是你说希望看到的 2.IOS7以上的版本和低版本显示出来的导航栏高度位置有差别,这个差别就是状态栏的高度20,为了兼容低版本,必须统一 解决思路: 1.不正常的是状态栏的背景也一起变了,而状态栏的文字是可以通过其他API去设置的:如 [[UIAp

iOS 7 教程:定制iOS 7中的导航栏和状态栏

目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 注:本文译自Customizing Navigation Bar and Status Bar in iOS 7 近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这

滑动隐藏导航栏的设置

今天无意之中学习一个项目,学到一个大的知识点,在这里和大家分享一下: 1. 滑动隐藏导航栏的设置: @property (nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe NS_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED; self.hidesBarsOnSwipe = YES; 2. // 去掉导航分割线 [self.navigationBar setBackgroundImage:[[UIImage allo

UIScrollView UITableView 上拉隐藏导航栏和tabbar 下拉显示导航栏和tabbar

//UIScrollView  UITableView 上拉隐藏导航栏和tabbar 下拉显示导航栏和tabbar-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ CGPoint translation = [scrollView.panGestureRecognizer translationInView:scrollView.superview];    if