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

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

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

3.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

Android的Dialog弹出隐藏导航效果,目前认为的最优解

但是,但是,但是,用在无人值守的自助终端上,总是把之前隐藏掉的导航和状态显示出来。这是不可接受的。总不能让设备给用户随意摆弄吧,进入系统把你应用给搞没了都有可能。...项目中用到一个Android的ProgressDialog显示操作的进度条,机器要求是屏蔽或隐藏导航和虚拟按键的显示。...但是试了好多方法,也参考了网上的很多做法,隐藏安卓底部导航之后 弹出dialog或者popupwindow后,导航会再次显示出来,虽然可以设置在dialog的onStart中再次隐藏导航,但是会出现一个导航显示出来又马上隐藏掉的一个效果...,加上一个状态变化的响应处理,在把它隐藏掉。...//全屏 View.SYSTEM_UI_FLAG_FULLSCREEN | //隐藏导航

4.5K20

iPhone X 适配指南 (官方翻译版)

大多数使用标准系统提供的UI元素(导航,表格和集合)的应用程序会自动适应设备的新外形。背景材料延伸到显示器的边缘,并且UI元件被适当地插入和定位。...安全区域还可以防止内容覆盖状态导航,工具和标签。 注意状态的高度。状态在iPhone X上比在其他iPhone上更高。...请注意,当背景任务(录音和位置跟踪)处于活动状态,iPhone X上的状态不会改变高度。 如果您的应用程序目前隐藏状态,请重新考虑iPhone X上的决定。...当启用自动隐藏,如果用户没有触摸屏幕几秒钟,指示灯将熄灭。当用户再次触摸屏幕,它会重新出现。这种行为应该只能用于被动观看体验,播放视频或照片幻灯片。 请参阅适应性和布局。...在极少数情况下,像游戏这样的沉浸式应用程序可能需要自定义的屏幕边缘手势,优先于系统的手势 - 第一个滑动会调用特定于应用的手势,而第二次滑动则会调用系统手势

2.5K50

如何处理手势冲突 | 手势导航连载 (三)

粘性沉浸模式: 用户可以通过在系统滑动来暂时退出沉浸模式 这里我们向您进一步解释一下流程图里的内容。 问题 1: 应用需要隐藏导航或状态吗?...流程图里的第一个问题,询问您应用的主要使用场景是否需要隐藏导航和/或状态。所谓 "隐藏",是指让它们根本不可见。这并不意味着让您的应用实现从边到边的全屏状态。...问题 2: 主要的 UI 需要在交互区域内/附近使用滑动操作吗? 这个问题是在询问,应用的界面是否在手势导航交互区域内或附近包含任何需要用户滑动操作的组件。...如果您的视图放置在一个可滚动操作的容器 ( RecyclerView) 中,那么请这么理解这个问题: 该视图是否完全或大部分位于手势交互区域中?...解决方案 1: 无需处理手势冲突 最简单的 "解决方案" ,只需要……什么都不做! 当然,也许您还可以 (参考接下来的几种解决方案) 做点优化,但在启用手势导航的应用中,您应该不会遇到大问题。

4.9K30

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

例如,当人们查看全屏照片时,“照片”会隐藏导航和其他界面元素。如果你的APP也用到了这个功能,切记要让用户使用简单的手势点按)来恢复导航导航标题 在导航中显示当前视图的标题。...在iOS 13及更高版本中,可以通过删除导航的阴影来隐藏导航的底部边框(当滑动内容区域,边框会自动重新出现)。无边框样式在大标题导航中效果很好,因为它增强了标题和内容之间的联系感。...搜索可以单独显示,也可以显示在导航或内容视图中。当显示在导航,可以将搜索固定在导航中,以便始终可以调用。也可以将其折叠,当用户向上滑动展开显示。...允许用户隐藏侧边以为其内容创造更多空间,并使用内置的边缘滑动手势再次显示侧边。避免在默认情况下隐藏。 侧边中的标题要保持简洁明了。省略不必要和多余的词。...当人们导航到您应用中的其他区域,请不要隐藏标签。标签可为您的应用启用全局导航,因此它在任何地方都应保持可见。模态视图例外。

9.8K10

【最新】iPhone X 交互设计官方指南

大多数使用系统提供的标准 UI 元素(导航、表格和集合)的应用程序能够自适应设备的新外形。背景材料可以延伸到屏幕的边缘,而且 UI 元件也能够被适当地插入和定位。 ? ?...安全区域还能够防止内容把状态导航、工具和标签覆盖掉。 注意状态的高度。iPhone X 上的状态比其他 iPhone 上的更高。...但是请注意,当背景任务(例如录音和位置跟踪)处于活动状态,iPhoneX 上的状态并不会改变高度。 如果你的应用程序对隐藏状态进行了隐藏,那么请重新考虑在 iPhone X 上的设计。...为了使用户能够轻松的访问主屏幕,可以自动隐藏虚拟 Home 键。当启用自动隐藏,如果几秒钟内用户没有触摸屏幕,那么Home 键将会被自动隐藏。如果用户再次触摸屏幕,虚拟 Home 键会重新出现。...只有在极其少数的情况下,例如游戏这样的沉浸式应用才有可能需要对屏幕边缘手势进行自定义。手势具有优先级: 第一次滑动会调用你应用的手势,在第二次滑动才会调用系统手势

1.9K20

iOS导航使用总结

目录: 一、设置导航样式 二、解决自定义导航返回按钮后侧滑不可用问题 三、隐藏导航底部的分割线 四、导航引起的布局问题 相关文章:iOS状态的使用总结 一、设置导航样式 设置导航的样式可分为全局设置与局部设置..., return NO; } return YES; } @end 三、隐藏导航底部的分割线 隐藏导航底部分割线也是我们偶尔会遇到的开发需求,首先我们可以通过Xcode...但是对于普通的视图,此时我们仍然需要注意:非滑动视图的布局仍然要考虑导航和标签高度,注意不被遮挡,比如布局的时候加上导航高度,以免内容被导航遮挡。...导航透明情况下,滑动视图自动偏移,普通视图被遮挡 其实,这种系统的优化也是可以控制关闭的,关闭优化之后,滑动视图就会和普通视图一样,如果还设置其布局的原点是(0,0),其内容就会被导航所覆盖,关键代码如下...,布局若设置其原点设置为(0,0),视图会延伸显示到导航的下面被覆盖。

3.2K20

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

引 如我在传送门:iOS导航切换界面隐藏和显示中所说,现在很多App的个人中心模块都是不保留导航的,会直接使导航透明,比如做的很好的QQ个人信息界面: 为什么说QQ做的很好呢?...而很多App的做法其实比较粗糙,类似于我在传送门:iOS导航切换界面隐藏和显示中的做法,需要导航透明时,直接将导航隐藏起来。...直接隐藏起来的意思是,整个导航就用不了了,也就是说,标题、返回按钮等都需要自己去做,这是一个比较麻烦的地方,此外,在有无导航的界面间切换,过程是比较生硬的,导航不是渐变出现的。...,导航的透明度是直接跳变的: 而我们想要的是像QQ一样从完全透明到不透明之间有一个随着滑动手势变化的透明度渐变效果,这样是最好的转场效果了。...我们需要的随着手势滑动返回界面的进度,来实时变化导航的透明度,比如滑动到了界面一半的时候,导航透明度应该是 0.5。对于这个需求,首先想到的是,我们要监控这个滑动事件的滑动进度。

3K40

UINavigationController 导航控制器概念属性方法

*interactivePopGestureRecognizer; 9、获取滑动隐藏导航手势 @property (nonatomic, readonly, strong) UIPanGestureRecognizer...*barHideOnSwipeGestureRecognizer; 10、屏幕滑动的时候是否隐藏导航,常用于tableView,上滑隐藏导航,下滑显示,带动画效果 @property (nonatomic..., readwrite, assign) BOOL hidesBarsOnSwipe; 11、 弹出键盘的时候是否隐藏导航 @property (nonatomic, readwrite, assign...; 13、敲击屏幕可以隐藏与显示导航 @property (nonatomic, readwrite, assign) BOOL hidesBarsOnTap; 14、获取敲击屏幕的手势 @property...的时候隐藏底部push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; (3)获取管理它的导航控制器 @property(

2.1K60

iOS开发UINavigation系列四——导航控制器UINavigationController

返回堆栈中所有的controller @property(nonatomic,copy) NSArray *viewControllers; //设置隐藏导航...; //屏幕滑动的时候隐藏导航,常用于tableView,上滑隐藏导航,下滑显示,带动画效果 @property (nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe...; //滑动隐藏导航手势 @property (nonatomic, readonly, strong) UIPanGestureRecognizer *barHideOnSwipeGestureRecognizer...; //横屏的时候隐藏导航 @property (nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompact; //敲击屏幕可以隐藏与显示导航...; //push的时候隐藏底部push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; //管理它的导航控制器 @property

1.8K20

沉浸模式 | 手势导航连载 (四)

作者 / Chris Banes, Android 开发者关系团队工程师 本文是手势导航连载的第四篇文章,如果您希望了解其他手势导航的话题,请查看本系列的其他文。...本文我们将为大家介绍的是手势交互和冲突在全屏应用 (系统也被隐藏) 下的情况和注意事项。让我们给大家讲讲流程图右侧的两种情况。...这两种模式都有两种状态: 系统隐藏: 在此状态下,返回主屏幕手势和后退手势均被禁用。用户必须首先从边缘向内侧滑动才能让系统显示。...我们来看一下运行在 Android 10 上,且使用手势导航的 Markers 绘图应用: image.png 如上图所示,一旦用户开始在屏幕边缘附近滑动 (绘制),就会触发后退手势,这会打断用户当前的操作...但是,在系统可见,系统则会忽略所有排除的手势区域,让用户可以返回,而不会受到来自应用的干扰。在粘性沉浸模式下,系统仅在短时间内可见,因此不会影响应用的正常交互。

1.2K30

React-Native组件之 Navigator和NavigatorIOS

initialRoute的集合; renderScene function 必填的方法,它根据给定的ruote渲染夜间,将被使用route和navigator对象参数调用; navigationBar view 导航的可选组件导航标题...一个常见的用途是设置所有页面的背景颜色 navigationBarHidden 布尔值,决定导航是否隐藏 shadowHidden 布尔值,决定是否要隐藏1像素的阴影 tintColor 导航上按钮的颜色...titleTextColor 导航器标题的文字颜色 translucent 布尔值,决定导航条是否半透明(注:当不半透明时页面会向下移动导航等高的距离,以防止内容被遮盖) interactivePopGestureEnabled...决定是否启用滑动返回手势。...不指定此属性手势会根据 navigationBar 的显隐情况决定是否启用(显示启用手势隐藏禁用手势),指定此属性后,手势与 navigationBar 的显隐情况无关 NavigatorIOS

4.5K70

处理视觉冲突 | 手势导航 (二)

自 API 1 以来,它们就以各种形式存在着,并且每当系统 UI 重叠显示在您的应用上方,这个方法就会被调用。常见的例子是下拉状态导航,或者弹出屏幕软键盘 (IME)。...当系统设置为使用按钮导航模式 (即上图例子所示),视觉冲突会更加明显,因为这时导航的高度更大。...在系统使用手势导航模式 (即导航变成屏幕底部的一条粗线,也就是导航条),由于导航条有动态色彩调整功能,这个冲突可能不会那么明显。...Android 10 带来了新的手势导航模式,允许用户通过手势动作,而不是导航按钮来进行导航: 从屏幕左/右边缘向中间滑动,相当于后退按钮 (Back)。...从屏幕底部开始向上滑动,可以让用户切换最近使用的应用 (Recent)。 在系统手势区域中,系统手势操作优先于应用自己的手势操作。您可能已经注意到系统手势区域有两个获取方法。

2.8K30

iOS学习—— UINavigationController的返回按钮与侧滑返回手势的研究

导航左上角的back按钮是附着在UINavigationController的UINavigationBar里自带的一个返回按钮,导航自带的back按钮的图层结构如下图所示。...UIScrollView及其子类自带滑动手势,所以如果一个viewController钟有UIScrollView及其子类的view,侧滑手势影响用户体验效果,此时用户将无法通过侧滑进行返回。...失效才识别,具体设置方法如下: //指定滑动手势在侧滑返回手势失效后响应 [self.tableView.panGestureRecognizer requireGestureRecognizerToFail...:[self.navigationController screenEdgePanGestureRecognizer]];  二 导航的back按钮   在了解导航的返回按钮之前,我们先了解一下导航管理导航上各类控件的...self.navigationItem.backBarButtonItem = barItem; //不影响侧滑手势 backBarButtonItem的自定义不能影响返回按钮的标题和图片,不会隐藏最左边的返回箭头

6.5K60

iOS开发常用之网络

LxTabBarController - 改变了原生tabbar切换标签的生硬效果,并加入滑动切换手势(有和界面上的其它手势发生冲突的风险,可根据具体项目予关闭),swift版本。...JZNavigationExtension - 多功能导航控​​制器,可以透明返回。...TabBarController,支持自定义TabBarItem样式或添加动画 隐藏与显示 SlideTapBar - 滚动菜单,向上滚动隐藏tabbar,向下滚动马上显示tabbar。...LTNavigationBar - LTNavigationBar为导航添加动态着色效果,可自定义其背景色.Demo包含:1。变换背景色; 2。滚动视图,导航和状态重叠。...PKRevealController - PKRevealController是一个可以滑动的侧边菜单(可向左,向右或者同时向两侧),只需手指轻轻一点(或者按一下按钮,但是这样滑动不够炫酷),这类控制的其他库

23.6K10

03_iOS导航的正确隐藏方式

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

1.2K20

Material Design — 底部导航(Bottom Navigation)

更大的显示器,pc端,可以通过使用侧边导航实现类似的效果。例如,紧凑的“rail”处理处理方式默认展示导航图标。 ? 左:移动端    右:pc端 什么时候用?...超过6个就不要放在底部导航里了,太挤了 底部导航和标签 当组合底部导航和tabs要注意,因为这样的组合可能会因为用户不知道二者的优先级而在导航引起混乱。...底部导航可以从一个主题中的n级页面移动到另一个主题的一级页面。当用户去往下级页面要保持底部导航可用,可通过持续展示,或者通过滚动隐藏和显示。...底部导航不应用于: ·专注于单一任务的观点,电子邮件“撰写”页面。 ·包含用户首选项或设置的页面 在Android上,后退按钮不在底部导航视图之间导航。...滚动 底部导航滚动可以动态地出现和消失: ·向下滚动隐藏底部导航 ·向上滚动显示 手势 在内容区域上使用左右滑动手势不会在一级页面之间切换。

4K90

超大触摸屏设计的7大注意事项

1.使用自然的手势交互 1.jpg 为什么“左右滑动”在所有触屏操作中都深受欢迎,因为这是用户最自然的手部动作和手势。 在设计超大触摸屏,设计师不仅要考虑用户手指的动作,还要考虑到整只手的操作。...思考一下如何设计能让用户在浏览内容不需要大量的滑动操作。 另一种自然的“手势”交互是视线扫描。由于一些设备的屏幕尺寸太大,用户的眼睛无法同时抓住所有内容。...需要注意的是,设计师要确保用户在访问不同的内容导航始终可用。 为你的产品设计一个导航模式,最好采用一般网站普遍使用的导航模式,导航设置在屏幕上方或侧边中。...当用户访问不同的内容或页面,也要确保导航不会消失。虽然主屏幕的设计可能只包含了几个较大的导航按钮,但其他的屏幕最好使用传统的导航格式,以便用户使用。 另外,在这些屏幕上尽量减少基于键盘的输入。...但是,如果你确实有基于键盘的输入,请在导航中设置一个键盘切换命令,这样用户就可以在需要的时候轻松地显示和隐藏键盘。 4.不要创建太多的选项 屏幕越大,用户选择的余地就越大,需要耗费的时间就越多。

1.4K70
领券