关于状态栏与导航栏的设置及自定义

关于状态栏和导航栏遇到的设置问题

1:statusBar字体为白色

在plist里面设置View controller-based status bar appearance 为 NO;设置statusBarStyle 为 UIStatusBarStyleLightContent

2:设置statusBar和navigationbar为一体

[nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_navbar.png"] forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];

3:tabBarItem被选中没效果,需要调用sdk7中的方法:

//兼容ios7以前
[viewController.tabBarItem setFinishedSelectedImage:actionMenu.selectedIcon withFinishedUnselectedImage:actionMenu.icon];
//ios7的方法
viewController.tabBarItem.selectedImage = actionMenu.selectedIcon;

4:刷新状态栏statusBar

[self setNeedsStatusBarAppearanceUpdate]

5:navigationbar上面的BarButtonItem字看不见问题,backBarItem箭头没有,则需要

//ios7设置BarButtonItem字体颜色,则会显示出来,不包括返回箭头
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, 0) forBarMetrics:UIBarMetricsDefault];
//设置BarButtonItem颜色,包括返回箭头
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

6:取消ios7自带手势,比如navigationcontroller的右滑返回

self.navigationController.interactivePopGestureRecognizer.enabled = NO ;

时间: 2024-12-15 16:29:15

关于状态栏与导航栏的设置及自定义的相关文章

iOS状态栏、导航栏的设置

简单的参考 1.状态栏(statusBar) 默认:黑色 改变为白色: 1.1 第一步: info.plist中添加View controller-based status bar appearance为NO 1.2 第二步: [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; 2.导航栏的背景和文字Color: 2.1 方法一: // 设置NavigationBar 背景颜色 & ti

改变状态栏和导航栏的透明度

如何实现这个半透明效果呢? 步骤一: 为UIImage类添加静态方法: extension UIImage { static func imageWithColor(color: UIColor) -> UIImage { let rect = CGRect(x: 0, y: 0, width: 1, height: 1) UIGraphicsBeginImageContext(rect.size) let context = UIGraphicsGetCurrentContext() CGCo

iOS 更改状态栏、导航栏颜色的几种方法

ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分:背景部分:就是显示黑色或者图片的背景部分: (一)设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(UIStatusBarStyleDefault)白色(UIStatusBarStyleLightContent)可以设置的地方有两个:plist设置里面 和 程序代码里初始化设

Android 4.4 沉浸式透明状态栏与导航栏

安卓4.4才有的沉浸式状态栏 在代码设置: if(VERSION.SDK_INT >= VERSION_CODES.KITKAT) { //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明导航栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 直接调用上面2行代码可以

android 自定义状态栏和导航栏分析与实现

效果 android 4.4之后,系统是支持自定义状态栏和导航栏的,举个最典型的例子就是bilibili客户端了(iOS版本和android版本能用两套完全不一样符合各自系统的设计ui,良心啊-),顶部状态栏为粉色,底部导航栏为半透明色: 接着QQ最新的版本6.2也使用了状态栏透明风格,但是出来的效果在不同版本,不同手机上,显示的效果真是差异很大(4.3版本是无法使用状态栏透明风格的,只是放出来做个对比): ------------------------------------ -------

滑动隐藏导航栏的设置

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

Android隐藏状态栏、导航栏

Android隐藏状态栏.导航栏 [java] view plain copy private void hideStatusNavigationBar(){ if(Build.VERSION.SDK_INT<16){ this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); }else{ int uiFlags = View

iOS获取状态栏和导航栏尺寸(宽度和高度)

iPhone开发当中,有时需要获取状态栏和导航栏高度.宽度信息,方便布局其他控件.下面介绍一下如何获取这些信息: // 状态栏(statusbar) CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame]; NSLog(@"status width - %f", rectStatus.size.width); // 宽度 NSLog(@"status height - %f", r

对系统版本为4.4及以上的开启 透明状态栏和导航栏(即沉浸式状态栏)

/*对系统版本为4.4及以上的开启 透明状态栏和导航栏(即沉浸式状态栏)*/ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = getWindow(); // Translucent status bar window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FL