首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 知识小集(Status Bar变换)

背景 iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏的需求。而改变状态栏颜色和控制状态栏显示和隐藏的API,在iOS 的不同版本中也发生了很多变化。...iOS 7以前状态栏设置 从API来看,那时候也是支持在代码里修改状态栏的样式以及显示和隐藏的。只是因为状态栏对整个APP的影响不大,所以一般在plist里设置好后,用不着再去修改了。 ?...用UIApplication的API ** 首先,需要在plist文件里将【View controller-based status bar appearance】设置为NO,因为它的默认值是YES,...创建顶层window之后,修改状态栏的样式就不方便了。 为了解决这个问题,我们可以将StatusViewContrller弄成单例,然后定义两个property来控制样式和是否隐藏即可。...window和其根视图控制器的背景色必须为clearColor。

1.3K21

iOS小技能:设置状态栏背景颜色(图片)

引言 设置状态栏背景颜色的解决方案: 使用新的API 【statusBarManager】 通过安全区域高度判断是否IphoneX之后的机型:if ([UIApplication sharedApplication...因此这个方法多次调用就会创建多份statusBar,造成内存开销不说,想设置状态栏为为透明,根本没效果。 解决办法:既然定位到问题所在,办法就是保证iOS 13 之后,每次也都能拿到有去只有一个对象。...(34.0):(0)) 2.1 应用场景1:自定义导航栏内容 导航栏显示公告和标题 navView = [[UIImageView alloc]initWithFrame:CGRectMake...(0, 0, kWidth, kStatusBarHeight)]; 2.2 应用场景2:设置状态栏背景图片 /** 用于设置状态栏的背景图片 */ @property (weak, nonatomic...; NSLog(@"导航栏高度:%f",navHeight); //获取tabBar的高度 //1.在tabBarController中使用(你的继承自UITabBarController的VC) CGFloat

2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS导航栏切换界面时隐藏和显示

    引 现如今很多App的一些模块,尤其是个人中心模块,界面设计已经习惯于不保留导航栏,而是直接将界面背景覆盖到状态栏,比如QQ的个人信息界面: 没有传统的导航栏之后会好看很多,但是回到或者去往别的页面时...,往往又需要重新显示导航栏,关于这样一种设计苹果并没有给出专门的设置,需要我们自己来做,但在尝试了多种方法之后其实也没有很好的方法,QQ其实做的挺好的,如果你现在动手去尝试一下,会发现它的有无导航栏转换之间有一个渐变的毛玻璃效果...: 实现: 要实现这个简单的有无导航栏过渡其实很简单,直接在 viewWillAppear 和 viewWillDisappear 方法中对导航栏进行显示和隐藏就可以了,为了到达比较平滑的效果,建议对是否动画的参数选择...这个方法是直接隐藏了整个导航栏,所以如果要保存导航栏的一些返回按钮以及其他自定义的按钮,就需要自己在界面上去模拟添加,如果不想这么麻烦,也可以不隐藏导航栏,而是将导航栏的背景视图设为透明的: [...这里有一篇文章实现了:传送门:导航栏的平滑显示和隐藏 - 个人页的自我修养(1) ,不过作者使用swift实现的,用到了extension,其实也就是OC下的category,之后我再研究一下OC下的实现好了

    3.9K30

    【IOS开发基础系列】Navigation页面导航专题

    的组合使用 http://sinye.iteye.com/blog/2093281 (Good)【IOS开发】UITabBarController和UINavigationController结合使用。...http://www.cnblogs.com/PleaseInputEnglish/p/3498032.html 2.5.2 导航条设置为半透明         将NavigationBar设置透明(...[self.navigationItem setHidesBackButton: YES]; 2.5.5 设置导航栏标题的字体颜色和大小     方法一:(自定义视图的方法,一般人也会采用这样的方式)...否则会导致页面切换时选中状态不准确         TabBar与导航条混用时,TabBarItem的设置是在NavigationController中,而不是内容Controller中,切记!!!...2.5.8 Tabbar的显示与隐藏 Tabbar的隐藏函数,其实只在Nav Push的之前调用时起作用 //隐藏Tabbar [viewController setHidesBottomBarWhenPushed

    45520

    C++ Qt开发:StatusBar底部状态栏组件

    通过在状态栏上显示文本、永久部件、进度条等内容,可以为用户提供清晰的反馈和实时信息。在设计应用程序界面时,使用状态栏有助于提升用户体验。...addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = 0) 将一个部件添加到状态栏,并可以设置部件在状态栏中的拉伸因子和对齐方式...可以指定显示的时间,如果设置为0,则消息会一直显示,直到下一条消息出现或者被清除。 currentMessage() 返回状态栏上当前显示的消息。...,如下图所示; QLabel组件除了可以增加提示信息以外,通过设置setOpenExternalLinks可以将这个组件设置为以链接形式出现,有利于我们增加网页跳转等功能。...,只要表格存在变化则会触发,当用户选择不同的表格是,我们可以动态将当前表格行列自动设置到状态栏中,从而实现同步状态栏消息提示,起到时刻动态显示的作用。

    1K10

    鸿蒙开发实战案例:状态栏动画实现案例

    启用沉浸式(设置全屏显示和状态栏为白色),获取状态栏高度存储在 statusBarHeight 变量中,从预定义的数据源 LIST_DATA 加载数据到 dataSource中。...,并为列表添加滚动监听器,以根据滚动位置调整状态栏和导航栏的透明度及展开收起动效。...Opacity影响子组件(如父类Opacity为0.5,若子组件为0.5时,子组件实际Opacity = 0.5*0.5),此处Row来改变状态栏的透明度不受影响其它组件透明度 Row() {...yOffset 调整状态栏和导航栏的透明度。...如果滚动超过了设定的阈值,则改变状态栏的颜色和展开收起动画。 .onDidScroll(() => { // TODO: 知识点:通过currentOffset来获取偏移量比较准确。

    6920

    VCTransitionsLibrary –自定义iOS交互式转场动画的库

    交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器的导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以在正在导航至某一页面时...注意: 动画和交互是完全独立的,这意味着你可以在其他任何自定义控制器上独立使用交互控制器-很酷!...协议被用来在模态控制器显示/隐藏时提供一个动画控制器.当一个视图控制器被模态显示或隐藏时,它的transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...为了同时设置出栈/入栈都合适的动画效果(或者说,出栈/入栈时能使用相反方向的动画),你可以参考下面代码: - (id)navigationController..._interactionController : nil; } 出栈时的交互 UINavigationControllerDelegate 也有方法为交互式转场提供支持.一个典型的类似于上上面代码的模式

    1.6K60

    CC++ Qt StatusBar 底部状态栏应用

    Qt窗体中默认会附加一个QstatusBar组件,状态栏组件位于主窗体的最下方,其作用是提供一个工具提示功能,当程序中有提示信息是可以动态的显示在这个区域内,状态栏组件内可以增加任何Qt中的通用组件,只需要通过...200); QLabel *labStudID=new QLabel("学生ID: 0",this); labStudID->setMinimumWidth(200); // 将初始化的标签添加到底部状态栏上...setOpenExternalLinks可以将这个组件设置为以链接形式出现,有利于我们增加网页跳转等功能。...,只要Table表格存在变化则会触发,当用户选择不同的表格,我们可以将当前表格行列自动设置到状态栏中,从而实现同步状态栏消息提示,起到时刻动态显示的作用。...setItem(x,col++,new QTableWidgetItem( QString::number(AgeList[x]) ) ); } } // 当前选择单元格发生变化时触发响应事件,也就是将底部状态栏标签设置

    74220

    CC++ Qt StatusBar 底部状态栏应用

    Qt窗体中默认会附加一个QstatusBar组件,状态栏组件位于主窗体的最下方,其作用是提供一个工具提示功能,当程序中有提示信息是可以动态的显示在这个区域内,状态栏组件内可以增加任何Qt中的通用组件,只需要通过...setOpenExternalLinks可以将这个组件设置为以链接形式出现,有利于我们增加网页跳转等功能。...,只要Table表格存在变化则会触发,当用户选择不同的表格,我们可以将当前表格行列自动设置到状态栏中,从而实现同步状态栏消息提示,起到时刻动态显示的作用。...labCellIndex = new QLabel("当前坐标: 0.0",this); labCellIndex->setMinimumWidth(250); // 将初始化的标签添加到底部状态栏上...setItem(x,col++,new QTableWidgetItem( QString::number(AgeList[x]) ) ); }}// 当前选择单元格发生变化时触发响应事件,也就是将底部状态栏标签设置

    84310

    笔记53 | 管理系统UI(一)

    淡化状态栏和系统栏 如果要淡化状态和通知栏,在版本为4.0以上的Android系统上,你可以像如下使用 SYSTEM_UI_FLAG_LOW_PROFILE这个标签。...这节课将教您 在4.0及以下版本中隐藏状态栏 在4.1及以上版本中隐藏状态栏 在4.4及以上版本中隐藏状态栏 让内容显示在状态栏之后 同步状态栏与Action Bar的变化 同时您应该阅读 Action...设置了 FLAG_LAYOUT_IN_SCREEN之后,你可以拥有与启用 FLAG_FULLSCREEN后相同的屏幕区域。这个方法防止了状态栏隐藏和展示的时候内容区域的大小变化。...让内容显示在状态栏之后 在Android 4.1及以上版本,你可以将应用的内容显示在状态栏之后,这样当状态栏显示与隐藏的时候,内容区域的大小就不会发生变化。...要启用Action Bar的overlay模式,你需要创建一个继承自Action Bar主题的自定义主题,将 android:windowActionBarOverlay属性设置为true。

    1.4K40

    iOS状态栏使用总结

    目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义 相关文章:iOS导航栏的使用总结 一、状态栏与导航栏 状态栏...((44) iPhoneX设备出现以后,状态栏的高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字的颜色...//状态栏和导航栏背景色为白色,状态栏文字为黑色 self.navigationController.navigationBar.barStyle = UIBarStyleDefault; //状态栏和导航栏背景色为黑色...,状态栏文字为白色 self.navigationController.navigationBar.barStyle = UIBarStyleBlack; 三、设置状态栏背景色 iOS7之后的状态栏和导航栏融合在一块...设置方法依然是修改info.plist,只需要设置Status bar is initially hidden即可,将其设置为YES之后,启动页将暂时不显示状态栏,操作如下: ?

    1.9K30

    腾讯开源超实用的UI轮子库,我是轮子搬运工

    QMUIQQFaceCompiler QMUIQQFaceView 的内容解析器,将文本内容解析成 QMUIQQFaceView 想要的数据格式。...每个 Tab 都可以非常灵活的配置,内容上支持文字和 icon 的显示,icon 支持选中态,支持内容的排版对齐方向设置,支持显示红点,支持插入自定义的 View,支持监听双击事件等。...将颜色值转换为字符串。 QMUIDeviceHelper 获取设备信息的工具类,按照功能类型来划分,总共包含以下几个特性: 判断设备为手机/平板。 判断设备是否为魅族手机。...快速绘制一张可带圆角的渐变图片。 将当前图片的颜色换成另一个颜色。 将两张图片叠加后生成一张新的图片。 对某个 View 截图生成图片。...快速设置状态栏为黑色或白色字体图标(支持 4.4 以上版本 MIUI 和 Flyme,以及 6.0 以上版本的其他 Android)。

    4.8K30

    iOS开发·UIWindow与视图层级调整技巧(makeKeyWindow,resignKeyWindow,makeKeyAndVisible,keyWindow,windowLevel,UIWind

    也就没有自带的setter方法。要设置其根视图只能通过如下方法,而不能通过属性的setter方法和点语法设置根视图。...假设APP的keyWindow对象为uiWindow,则uiWindow.rootViewController为UITabBarController对象(也只有UIWindow可以用点语法设置根视图)。...如果,之前UIWindow的hidden = NO,设置新UIWindow的hidden将旧UIWindow覆盖后,旧UIWindow的hidden属性依旧为NO。...上述代码会将UIWindow绝对隐藏,不管有没其他UIWindow覆盖。当也没有其它非隐藏的UIWindow的时候,APP屏幕完全黑屏。...如果没有专门设置过keyWindow的hiden为NO,而且也没有其它非隐藏的UIWindow,那么APP会黑屏。

    8K10

    iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

    千万千万,避免在状态栏后面叠加会分散注意力的内容。尤其是,你不能让用户觉得轻击状态栏之后可以获取内容或激活你的应用中的控件。 隐藏状态栏时请慎重。由于状态栏是透明的,通常情况下不需要隐藏它。...为你的应用选择配色协调的状态栏颜色。默认的状态栏内容是黑色的,在浅色应用中效果出色,而相应的浅色状态栏则更适用于颜色较深的应用。...当用户在视图中拖拽内容,内容随之滚动;当用户轻扫屏幕时,内容将快速滚动——直到用户再次触摸屏幕或内容已经到达底部时停止。...默认情况下,竖屏方向时只会展示右侧窗格,因此你需要向用户提供一个按钮(通常位于导航栏上)来让用户唤起和隐藏主窗格。对分视图控制器也支持轻扫手势来执行呼出和隐藏的动作。...,将唤起键盘(键盘的布局和类型取决于用户的系统语言设置) 始终确保文字的易读性。

    10.1K51

    VBA专题10-2:使用VBA操控Excel界面之设置工作表

    '隐藏活动工作簿中指定的名称(例如,命名为MyRange1的单元格区域) '设置为True取消隐藏 Names("MyRange1").Visible= False 公式栏 隐藏和取消隐藏公式栏 示例代码...:即便用户移动和重命名工作表,或者添加工作表,VBA代码将仍然引用的是正确的工作表。...状态栏 隐藏和取消隐藏状态栏 示例代码: '隐藏状态栏 Application.DisplayStatusBar= False '取消隐藏状态栏 Application.DisplayStatusBar...= True 写入或读取状态栏 示例代码: '将信息写入状态栏 Application.StatusBar ="工作中......"...'从状态栏中读取信息 Debug.PrintApplication.StatusBar 重置状态栏 示例代码: '恢复状态栏为其正常状态 Application.StatusBar ="" 网格线

    4.8K41
    领券