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

iOS 13导航栏问题-部分导航栏变为透明

在iOS 13中,部分导航栏变为透明可能是由于系统的新特性所导致的。iOS 13引入了一个名为"prefersLargeTitles"的属性,该属性可以控制导航栏的外观。

当"prefersLargeTitles"属性设置为true时,导航栏会显示大标题,并且导航栏的背景会变为透明。这样做的目的是为了提供更加清晰和现代化的用户界面。

然而,如果你不希望导航栏变为透明,你可以通过以下方法来解决这个问题:

  1. 设置"prefersLargeTitles"属性为false:在你的视图控制器中,可以通过设置navigationItem的largeTitleDisplayMode属性为.never来禁用大标题,从而避免导航栏变为透明。
  2. 自定义导航栏外观:你可以通过自定义导航栏的外观来改变导航栏的背景颜色。可以使用UINavigationBar的appearance()方法来设置导航栏的外观,例如设置导航栏的背景颜色为固定的颜色。
  3. 使用第三方库:如果你不想自己处理导航栏的外观,你还可以使用一些第三方库来解决这个问题。例如,你可以使用Chameleon库来轻松地自定义导航栏的外观。

总结起来,iOS 13中部分导航栏变为透明是由于新特性"prefersLargeTitles"的引入所导致的。你可以通过设置"prefersLargeTitles"属性为false、自定义导航栏外观或使用第三方库来解决这个问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

# iOS导航控制Tips

许久不写UI,对UI的很多东西都生疏了,最近使用导航的各种场景做一些总结。 1.导航的显示与隐藏 导航的显示与隐藏,分两种情况: 1.从不显示导航的页面push到显示导航的页面。...2.从显示导航的页面Push到不显示导航的页面。 注意: 1.如果导航不显示时,系统的侧滑返回功能无效。...针对以上两种情况分别处理,整个Push过程都假设是从A页面跳转到B页面 1.1 从不显示导航的页面Push到显示导航的页面。 关于导航的显示,是否顺滑,是通过如下两个方法来控制。...// 不显示动画,导航显示就比较突兀 [self.navigationController setNavigationBarHidden:YES]; // 显示动画,在侧滑时,导航显示就比较顺滑...iOS端如果要仿这个效果的话,可以利用导航控制器的API: - (void)setViewControllers:(NSArray *)viewControllers

1.7K31

iOS导航使用总结

目录: 一、设置导航样式 二、解决自定义导航返回按钮后侧滑不可用问题 三、隐藏导航底部的分割线 四、导航引起的布局问题 相关文章:iOS状态的使用总结 一、设置导航样式 设置导航的样式可分为全局设置与局部设置...iOS导航自带的返回按钮形式单一,所以大多情况下,我们都需要自定义导航返回按钮。...隐藏导航部分割线也是我们偶尔会遇到的开发需求,首先我们可以通过Xcode的Debug View Hierarchy功能查看导航的视图结构,效果如下: ?...导航视图层级图 从图中可以看出,导航的底部分割线是一个UIImageView对象,而且高度只有0.5,所以我们可以据此获取到导航的底部分割线对象,在一个视图控制器中实现此需求,代码如下: #import...self.edgesForExtendedLayout=UIRectEdgeNone 3.导航透明属性translucent 上述两种属性都是在解决导航透明情况下的布局问题,但是如果我们的需求就是导航透明

3.1K20

iOS导航基础效果配置

gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ return self.childViewControllers.count > 1; } 复制代码 导航透明和底部分隔线...:[UIImage new]]; 复制代码 另外可以通过颜色转图片来修改导航条底部分隔线颜色 //动态地改变UIColor的alpha属性可以返回,不同alpha的图片;可用于动态改变导航条的透明度 +...self.navigationController.navigationBar.hidden = YES; 复制代码 导航的动态消失 if (scrollView.contentOffset.y >...但是如果用navigationBar.hidden隐藏导航,我们可以继续使用navigationBarHidden提供的滑动pop效果,如果用navigationBarHidden,这个操作将无效;但前者...状态的自适应问题 //不让其自动调整 self.automaticallyAdjustsScrollViewInsets = NO; 复制代码 发布者:全栈程序员栈长,转载请注明出处:https://

1.5K10

iOS开发UINavigation系列一——导航UINavigtionBar

iOS开发UINavigation系列一——导航UINavigtionBar 一、导航的使用         在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar...我们也可以设置导航的风格属性,从iOS6之后,UINavigationBar默认为半透明的样式,从上面也可以看出,白色的导航下面透出些许背景的红色。...导航的风格属性可以通过下面的属性来设置: @property(nonatomic,assign) UIBarStyle barStyle; UIBarStyle是一个枚举,其中大部分的样式都已弃用,有效果的只有如下两个...三、导航常用属性和方法         从上面我们可以看到,iOS6后导航默认都是半透明的,我们可以通过下面的bool值来设置这个属性,设置为NO,则导航透明,默认为YES: @property...//向栈中添加一个item,上一个item会被推向导航的左侧,变为pop按钮,会有一个动画效果 - (void)pushNavigationItem:(UINavigationItem *)item

95131

iOS透明导航的平滑过渡(进阶版)引实现过程结

引 如我在传送门:iOS导航切换界面时隐藏和显示中所说,现在很多App的个人中心模块都是不保留导航的,会直接使导航透明,比如做的很好的QQ个人信息界面: 为什么说QQ做的很好呢?...而很多App的做法其实比较粗糙,类似于我在传送门:iOS导航切换界面时隐藏和显示中的做法,需要导航透明时,直接将导航隐藏起来。...现在问题已经讲完了,基于这些问题,我们自己来尝试实现一种更好的平滑过渡效果,不自定义导航,直接利用系统原生的导航,使用Category和Runtime的技术,达到这个效果: 代码可以在示例工程下载...设置导航背景透明导航上应该是有很多view的,我们要做的是只让背景透明,而保留标题、返回按钮。iOS没有直接给我们提供对于导航背景view的访问途径,那么我们只能自己来找了。...基础动画教程),在自动操作的那个时间内将透明变为对应界面的导航透明度,让其变化的不那么跳跃: #pragma mark - UINavigationController Delegate - (void

2.9K40

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

引 现如今很多App的一些模块,尤其是个人中心模块,界面设计已经习惯于不保留导航,而是直接将界面背景覆盖到状态,比如QQ的个人信息界面: 没有传统的导航之后会好看很多,但是回到或者去往别的页面时...,直接在 viewWillAppear 和 viewWillDisappear 方法中对导航进行显示和隐藏就可以了,为了到达比较平滑的效果,建议对是否动画的参数选择YES,否则显示界面后就会瞬间出现导航...这个方法是直接隐藏了整个导航,所以如果要保存导航的一些返回按钮以及其他自定义的按钮,就需要自己在界面上去模拟添加,如果不想这么麻烦,也可以不隐藏导航,而是将导航的背景视图设为透明的: [...,我们还需要将透明导航背景还原回来,这个还没有找到好的办法。...结 上面的方法可以在只有导航控制器时比较好的操作,虽然不能做到像QQ那么好,但也能用,但如果有Tabbar存在,就会有问题。那如何做到QQ那样的效果呢?

3.8K30

03_iOS导航的正确隐藏方式

简介 在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航.可是push到下一个页面的时候是需要导航的,如何做了...第一种做法 注意这里一定要用动画的方式隐藏导航,这样在使用滑动返回手势的时候效果最好,和上面动图一致.这样做有一个缺点就是在切换tabBar的时候有一个导航向上消失的动画. - (void)viewWillAppear...]; [self.navigationController setNavigationBarHidden:NO animated:animated]; } 第二种做法 设置self为导航控制器的代理...,实现代理方法,在将要显示控制器中设置导航隐藏和显示,使用这种方式不仅完美切合滑动返回手势,同时也解决了切换tabBar的时候,导航动态隐藏的问题。...最后要记得在控制器销毁的时候把导航的代理设置为nil。

1.2K20
领券