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

隐藏导航栏时的Swift ios奇数空格

隐藏导航栏时的Swift iOS奇数空格是指在iOS开发中,当隐藏导航栏时,导航栏的高度会被视为奇数倍的空格。

在iOS开发中,导航栏是一个常见的界面元素,用于显示标题、返回按钮等。有时候,我们需要隐藏导航栏以实现特定的界面效果。然而,隐藏导航栏后,界面的布局可能会出现一些奇怪的问题,其中之一就是导航栏高度的奇数倍空格。

这个问题的原因是iOS系统在计算导航栏高度时,会将状态栏的高度也计算在内。而状态栏的高度在不同设备上可能是不同的,通常为20或44个点。当导航栏隐藏时,状态栏的高度仍然存在,导致导航栏高度的奇数倍空格出现。

为了解决这个问题,我们可以使用以下方法之一:

  1. 调整布局:在隐藏导航栏时,对布局进行适当的调整,以消除奇数倍空格。可以通过修改约束、调整视图的位置或大小等方式来实现。
  2. 使用自定义导航栏:不使用系统提供的导航栏,而是使用自定义的导航栏来替代。自定义导航栏可以完全控制导航栏的高度和布局,避免奇数倍空格的问题。
  3. 使用第三方库:有一些第三方库可以帮助解决这个问题,例如"AMScrollingNavbar"和"WRNavigationBar"等。这些库提供了更灵活的导航栏控制,可以避免奇数倍空格的出现。

总结起来,隐藏导航栏时的Swift iOS奇数空格是一个在iOS开发中常见的问题,可以通过调整布局、使用自定义导航栏或借助第三方库来解决。在解决问题时,需要注意导航栏高度的计算方式,以及对布局的适当调整。

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

相关·内容

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

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

3.9K30

03_iOS导航正确隐藏方式

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

1.2K20
  • AndroidDialog弹出隐藏导航效果,目前认为最优解

    原本AndroidProgressDialog用法很简单,两三行代码就搞定了。但是,但是,但是,用在无人值守自助终端上,总是把之前隐藏导航和状态显示出来。这是不可接受。...项目中用到一个AndroidProgressDialog显示操作进度条,机器要求是屏蔽或隐藏导航和虚拟按键显示。...但是试了好多方法,也参考了网上很多做法,隐藏安卓底部导航之后 弹出dialog或者popupwindow后,导航会再次显示出来,虽然可以设置在dialogonStart中再次隐藏导航,但是会出现一个导航显示出来又马上隐藏一个效果...这样会很影响体验,会闪一下虚拟隐藏,或者隐藏了再显示回来。 经过一连串尝试摸索,找到了个目前认为是见到过最优解方法。 如果谁有更好更简单实现,欢迎留言,共同学习学习。...,加上一个状态变化响应处理,在把它隐藏掉。

    4.7K20

    ios7之后导航问题2

    https://blog.csdn.net/u010105969/article/details/53334755 在《ios7之后导航问题1》(http://blog.csdn.net/u010105969.../article/details/53333748)博客中我们提到了在有导航情况下根视图坐标原点问题,但我当初添加是一个普通视图,如果我们添加是一个UITableView我们会发现问题又会有所不同...根视图坐标原点难道又发生变化了?其实不然,根视图坐标原点并没有发生变化,我们可以用视图调试器查看根视图坐标原点: ?...从图中我们可以看到白色根视图和蓝色tableV,可见根视图坐标原点确实是(0,0)。那为什么展示出来tableV却像是下移了64?...我还发现,如果我们根视图是tabBarController我们添加tableV内边距同样会距离底部发生49偏移。 不知道我两篇博客是否解答了读者心中一些疑惑,希望能够。

    84330

    ios7之后导航问题1

    https://blog.csdn.net/u010105969/article/details/53333748 iOS7之后rootView(即根视图)原点是(0,0),当根视图控制器是NavigationController...时候有时一些视图原点却会发生一些变化,有时是(0,0),有时是(0,64),而我们设置却一直是(0,0),这到底是为什么呢?...上面设置属性代码是设置navigationBar透明属性translucent,此属性默认是YES,我们也看到在默认状态下navigationBar是有透明度,当设置此属性为NO,navigationBar...我所说设置navigationBar颜色不是通过setBackgroundColor这个方法,因为这个方法设置颜色并不是我们想要颜色,比如我们想设置navigationBar颜色为纯绿色,如果直接使用...透明度也发生了变化从而导致根视图坐标原点发生变化。

    43520

    swift 2.0 与 OC 相比较,标签导航书写差别

    下面是swift书写时候两个方法,其实这里不是教大家怎么样写这个问题,我是想通过这两个不同语言进行一个比较,向大家找他们之间“想法”上一些相同点,这样子我们学习swift时候,就可以更加游刃有余...我们熟悉OC这门语言,找到他么想法上相同点了,你也就可以利用OC来学习swift了。...addChildViewController(UINavigationController(rootViewController: vc)) } 下面是我们熟悉OC...写法 HomeViewController * home =[[HomeViewController alloc]init]; home.title=@"首页"; home.tabBarItem.title...,希望你能看到他们思想上相同点,有些东西你悟出来比我告诉你更好!!!

    91670

    Android经典实战之用WindowInsetsControllerCompat方便显示和隐藏状态导航

    它简化了在不同 API 级别上控制系统窗口插入复杂性,使得开发者能够更轻松地处理状态导航显示/隐藏、动画过渡等操作。...主要功能 1、 显示和隐藏状态导航: 使用 WindowInsetsControllerCompat,你可以轻松地控制状态导航显示与隐藏。...Behavior 标志位 WindowInsetsControllerCompat systemBarsBehavior 属性决定了系统(状态导航)在隐藏和显示行为。...: 当系统隐藏,用户可以通过触摸屏幕任意位置来显示系统。...: 当系统隐藏,用户可以通过从系统区域向内滑动来临时显示系统

    20410

    iOS去除导航和tabbar1px横线

    1.在自己定义导航中或者设计稿中经常需要去除导航1px横线,主要是颜色太不协调了 去除之前图片 要去除这1px横线,首先应该知道它是什么,在Xcode界面调试中可以看到,它其实是UIImageView...来 找到横线是什么了··· 其实这是navigationBarshadowImage,所以只要设置它为空即可,但是设置它为空之前应该先设置它背景也为空,全部代码如下: [self.navigationController.navigationBar...: 完成之后效果 既然导航那一横线能去除,那tabbar那一横线也是能去除了(其实也是shadowImage来)··· 方法一: 自定义UITabBarController 方法二: [self.tabBarController.tabBar...,只要设置它shadowImage即可。...(如果有更加好方法,希望交流一下~~)

    1.7K40

    iOS开发-22】navigationBar导航,navigationItem建立:获取导航基本文本和button以及各种跳跃

    大家好,又见面了,我是全栈君 (1)navigationBar导航可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navigationBar...即所谓标题视图放在导航中间,用得方法是setTitleView,非常多游戏导航条中间貌似是一个图片,能够用这个。...也要注意一下有多个button排列顺序。 (5)我们创建这些导航条button有非常多种形式。...有的是由文字,有的图片,有的系统自带的如摄像头或者Reply这些icon,有的全然是自定义视图。...隐藏导航条,由此点击进入其它视图导航条也会被隐藏

    2.3K10

    iOS系统中导航转场解决方案与最佳实践

    导航组件改变与革新 导航组件在 iOS 11 发布,获得了重大更新,这个更新可不是增加了一个大标题样式(Large Title Display Mode)那么简单,需要注意地方大概有两点: 导航全面支持...之后这个假导航会一直存在页面 A 上,用于保留 A 离开导航样式。...如果真的要隐藏导航 如果我们需要隐藏导航,请保证所有的 ViewController 能坚持如下原则: 每个 ViewController 只需要关心当前页面下导航是否被隐藏。...在 viewWillAppear: 中,统一设置导航隐藏状态。...转场动画与导航隐藏动画一致性 如果在转场过程中还会显示或者隐藏导航的话,请保证两个方法动画参数一致。

    2.4K30

    iOS开发常用之网络

    该项目通过三种形式展示页面之间切换,比如导航多个选项卡切换,页面左右两端箭头指示切换,以及使用分段控件。...TabBarController,支持自定义TabBarItem样式或添加动画 隐藏与显示 SlideTapBar - 滚动菜单,向上滚动隐藏tabbar,向下滚动马上显示tabbar。...LTNavigationBar - LTNavigationBar为导航添加动态着色效果,可自定义其背景色.Demo包含:1。变换背景色; 2。滚动视图,导航和状态重叠。...一个用于统一管理导航转场以及当推或者弹出时候使动画效果更加顺滑通用库,并且同时支持竖屏和横屏。...Persei - 动画隐藏或显示顶部菜单支持库及示例项目.-- swift PDTSimpleCalendar - 是iOS最棒日历组件。

    23.6K10

    Android经典面试题之Kotlin中如何隐藏DialogFragment和Dialog导航

    DialogFragment隐藏导航 在 Android 中,使用 DialogFragment 显示对话框,如果您希望隐藏系统导航(如状态导航键),可以通过设置相关系统 UI 标志来实现。...这种方法允许您 DialogFragment 在显示全屏,并隐藏状态导航。...Dialog中隐藏导航 在 Android 中,如果想在 Dialog 中隐藏系统导航(包括状态和底部导航键),可以通过设置窗口属性来实现。...在创建 Dialog ,可以使用 Window 类提供一些标志来隐藏导航。...systemUiVisibility 属性用于隐藏系统导航和状态。 通过这些设置,当显示 Dialog ,它将隐藏系统导航和状态,实现全屏显示。

    14210

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

    引 如我在传送门:iOS导航切换界面隐藏和显示中所说,现在很多App个人中心模块都是不保留导航,会直接使导航透明,比如做很好QQ个人信息界面: 为什么说QQ做很好呢?...而很多App做法其实比较粗糙,类似于我在传送门:iOS导航切换界面隐藏和显示中做法,需要导航透明时,直接将导航隐藏起来。...直接隐藏起来意思是,整个导航就用不了了,也就是说,标题、返回按钮等都需要自己去做,这是一个比较麻烦地方,此外,在有无导航界面间切换,过程是比较生硬导航不是渐变出现。...,标题、返回按钮啥都方便加,这也就是说不隐藏导航,而是要单独让导航背景透明; 2、在导航透明与否界面间切换透明度有渐变效果; 3、在UINavigationController体系和UITabarController...,下面这种方法是比较好方法: // 对导航下面那条线做处理 self.navigationBar.clipsToBounds = alpha == 0.0; 当我们对导航透明度设为 0 ,就会隐藏细线

    3.1K40

    iOS之深入解析Xcode 13正式版发布40个新特性

    十二、Instruments Instruments 中调用树视图和扩展详细信息视图现在用“[inlined]”标记指示内联函数; 通过详细视图导航更容易发现不同视图。...; 现在可以使用键盘选择和导航大纲视图组,例如 Constraints; Interface Builder 有一个重新设计画布底部,带有用于更改设备和布局弹出窗口,以及用于更改设备外观和方向开关...十九、Project Navigator 当 Products 组位于默认位置,项目导航器会隐藏它; Move Focus to Editor 命令现在解释 vim 方向移动键; schema 编辑表不再有最大尺寸...在 iOS 14 和 iPadOS 14 及更早版本中,当 autocorrectionType 设置为 UITextAutocorrectionTypeNo ,QuickType 将被禁用。...如果新行为不适合您用例,请将 spellCheckingType 设置为 UITextSpellCheckingTypeNo 以隐藏 QuickType

    8.8K40

    IOS系统input输入框为readonly隐藏键盘上上下箭头

    业务中在一定场景中会将input 设置为只读状态,在IOS safari上当input 输入框focus ,仍会出现键盘上上下箭头,这种用户体验非常不好,如何干掉呢?...而这些箭头本意是让用户在上下多个input 中自由方便切换。 但是对于输入框状态是只读,给用户弹出这样箭头就不应该了。...唯一选择是当输入被聚焦禁用表单中所有其他输入,因此就不会出现上下切换选项卡。...具体实施方法是 focus某个input,对于所选input之外所有input与textarea元素,添加readobly参数。...$(document).ready(function() { // 判断是否是IOS if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {

    2.1K30

    最新iOS设计规范三|3大界面要素:(Bars)

    导航是半透明,也可以添加背景色,并且必要可以设置为隐藏。 ? 某些情况下可暂时隐藏导航,以提供更沉浸体验。例如,当人们查看全屏照片时,“照片”会隐藏导航和其他界面元素。...在iOS 13及更高版本中,默认情况下,大标题导航不包含背景材质或阴影。另外,随着页面滑动,大标题要转换为标准标题。 ? 隐藏大标题导航边框。...在iOS 13及更高版本中,可以通过删除导航阴影来隐藏导航底部边框(当滑动内容区域,边框会自动重新出现)。无边框样式在大标题导航中效果很好,因为它增强了标题和内容之间联系感。...如果导航包含多个文本按钮,需要通过在按钮之间插入固定空格项目来增加分隔。以此来避免按钮文本同时显示造成按钮无法区分问题。 考虑在导航中使用分段控件,使APP层次结构更加扁平。...当人们导航到您应用中其他区域,请不要隐藏标签。标签可为您应用启用全局导航,因此它在任何地方都应保持可见。模态视图例外。

    9.9K10
    领券