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

使用overCurrentContext显示视图控制器,然后推送到导航栈,会导致导航栏下叠

是因为overCurrentContext模态展示的视图控制器会覆盖导航栏,导致导航栏被遮挡。

解决这个问题的方法是可以通过以下几种方式:

  1. 使用自定义转场动画:可以自定义转场动画,使得overCurrentContext模态展示的视图控制器从导航栏下方弹出,而不是覆盖导航栏。可以通过实现UIViewControllerTransitioningDelegate协议中的相关方法来实现自定义转场动画。
  2. 使用present(:animated:completion:)方法的参数:可以在present(:animated:completion:)方法中设置参数来控制展示方式。可以使用UIModalPresentationStyle来指定展示样式,例如使用UIModalPresentationStyle.fullScreen来覆盖整个屏幕,而不是仅覆盖导航栏。
  3. 使用UINavigationController的pushViewController(:animated:)方法:可以直接使用UINavigationController的pushViewController(:animated:)方法将视图控制器推送到导航栈中,而不是使用overCurrentContext模态展示。这样可以保持导航栏的正常显示。

总结起来,使用overCurrentContext显示视图控制器,然后推送到导航栈会导致导航栏下叠,可以通过自定义转场动画、设置present(:animated:completion:)方法的参数或直接使用UINavigationController的pushViewController(:animated:)方法来解决这个问题。

腾讯云相关产品和产品介绍链接地址:

  • 自定义转场动画:腾讯云暂无相关产品。
  • UIModalPresentationStyle:腾讯云暂无相关产品。
  • UINavigationController:腾讯云暂无相关产品。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Cocoa编程中视图控制器视图类详解

UIViewController实例负责设置视图的外观和它显示的子视图。 UINavigationController类 1. 导航控制器使用内置动画在视图之间切换; 2....每一个导航控制器都拥有一个根视图控制器RootViewController,它是“导航弹出”的基础,是根。5....使用pushViewController: animated:可推入一个新的控制器,从而增加新的项到导航。(记住:导航控制器不添加一个视图进去,这个导航是没有意义的!)...,然后添加此视图控制器导航并予以显示 UIViewController *aView = [[UIViewController alloc] initWithNibName:(*xib文件名*)]...可使用popToRootViewControllerAnimated:BOOL直接弹出到根视图控制器。 6. 设置导航的按钮并不是去设置导航本身。

5K50

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

大家好,又见面了,我是全君 (1)navigationBar导航可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navigationBar...须要创建两个视图控制器(ViewController根视图控制器,SecondViewController子视图控制器),然后放在导航控制器中。...Reply等等,显示成一个icon图标 //还能够initWithImage初始化成图片 //还能够自己定义。...PUSH或者POP一个视图控制器,这样在最上面的视图控制器就变了,这样视图也跟着变了,由于仅仅显示顶得那个视图控制器视图 //所以(1)控制所谓的跳转。...事实上是导航控制器在控制,在里面的元素都能够通过navigationController属性获取到它们所在的导航控制器 //所以(2)获取到导航控制器之后,使用Push的那个方法,往里面放一个视图控制器

2.2K10

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

和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次更加分明,对controller的管理也更加方便.../通过一个自定义的导航和工具创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass... toolbarClass:(nullable Class)toolbarClass; //使用系统默认的导航和工具,通过一个根视图创建导航控制器 - (instancetype)initWithRootViewController...; //屏幕滑动的时候隐藏导航,常用于tableView,上滑隐藏导航,下滑显示,带动画效果 @property (nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe...; //横屏的时候隐藏导航 @property (nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompact; //敲击屏幕可以隐藏与显示导航

1.8K20

UI篇-UINavigationController之易忘补充

设置导航的背景图片 (多见于导航背景颜色是渐变颜色,使用一张图片)但是这张图片设置好以后,所有的控件的Y坐标都会下移64,也就是说,这张图片会占用屏幕的64pt 高度的屏幕,而且无法被普通试图覆盖使用...navigationItem navigationItem是UIViewController的一个属性,包含了当前页面导航上需要显示的全部信息,这个属性是为UINavigationController...每个视图控制器都有一个navigationItem属性,navigationItem中设置的做按钮、右按钮、标题等,随着控制器显示,也显示到navigationBar上 我们来看一这些名词是什么意思...navigationItem包含了bar视图的全部元素(如title,tileview,backBarButtonItem等),受当前viewcontroller管理,即bar形成整个nv的导航视图然后每个...通过设置 self.navigationController.toolbarHidden = NO来显示工具,工具中的内容可以通过viewController的toolbarItems来设置,显示的顺序和设置的

2.1K20

微信小程序初步入坑指南

不需要加后缀名,微信框架自动添加后缀名。 window 对于全局导航的设置。...navigationBarBackgroundColor 设置全局的导航的颜色 navigationBarTitleText 设置导航的文字内容 navigationStyle 设置导航的样式 backgroundColor...backgroundTextStyle 设置下拉的loding样式 tabBar 是下方的导航的设置。这个直接看文档吧。。...mvp 在mvc的基础上,view中不写逻辑,,在原先控制器的地方完成页面的合并 mvvm 和mvp类似,只不过view和原先的控制器双向绑定,即使用get 和 set方式,达到当数据更改的时候,进行回调...(异步),this.data的值,(同步 ) ps 单纯的改变this.data的值,不会起作用,因为页面已经渲染完成,需要进行发送到视图层,进行更新视图 ps 是的。

1.2K40

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

(iOS7之后,在导航中右划进行pop操作,设置这个的enable可以控制设置手势是否失效) @property(nullable, nonatomic, readonly) UIGestureRecognizer...*barHideOnSwipeGestureRecognizer; 10、屏幕滑动的时候是否隐藏导航,常用于tableView,上滑隐藏导航,下滑显示,带动画效果 @property (nonatomic...; 13、敲击屏幕可以隐藏与显示导航 @property (nonatomic, readwrite, assign) BOOL hidesBarsOnTap; 14、获取敲击屏幕的手势 @property...(1)通过一个自定义的导航和工具创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass...toolbarClass:(nullable Class)toolbarClass; (2)使用系统默认的导航和工具,创建一个导航控制器同时设置一个根视图控制器 - (instancetype)initWithRootViewController

2.1K60

# iOS导航控制Tips

许久不写UI,对UI的很多东西都生疏了,最近使用导航的各种场景做一些总结。 1.导航显示与隐藏 导航显示与隐藏,分两种情况: 1.从不显示导航的页面push到显示导航的页面。...2.从显示导航的页面Push到不显示导航的页面。 注意: 1.如果导航显示时,系统的侧滑返回功能无效。...针对以上两种情况分别处理,整个Push过程都假设是从A页面跳转到B页面 1.1 从不显示导航的页面Push到显示导航的页面。 关于导航显示,是否顺滑,是通过如下两个方法来控制。...将新的控制器数组设置为导航控制器数组,根据参数判断是否要显示动画。 我这边做了一些发散,因为一些类可能会有很多子类,那么想要保证父类以及子类的实例都只有一个,所以将方法做了改进。...然后将要push的界面放到顶。

1.7K31

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

简介 VCTransitionsLibrary 提供了许多适用于入,出,模态等场景控制器切换时的转场动画.它本身提供了一个定义好的转场动画库,你可以拖到自己工程中直接使用;也提供了许多拥有不同转场动画效果...使用 在自定义转场动画时,有两类关键的类: 动画控制器 –  这个类是用来实现自定义动画的.但你声明想要使用自定义动画时,你应该提供一个动画控制器.这个类实现需要的动画,完成时会通知框架....交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以在正在导航至某一页面时...协议被用来在模态控制器显示/隐藏时提供一个动画控制器.当一个视图控制器被模态显示或隐藏时,它的transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...交互控制器负责给视图添加手势,并负责在用户使用某个手势时进行相应地导航操作.

1.5K60

iOS导航使用总结

为了解决这个问题,我们需要在App中使用我们自定义的导航控制控制器,示例代码如下: #import “BaseNavigationController.h" //第一步:设置自定义导航控制器使用UIGestureRecognizerDelegate...,用于优化滑动类视图(继承于UIScrollView的视图)在视图控制里的显示: iOS系统的导航UINavigationBar与标签UITabBar默认都是半透明模糊效果,在这种情况系统会对视图控制器的...我们可以通过一段代码来测试一效果,在默认导航(半透明)的视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会被导航覆盖 UITextView *leftTextView...导航透明情况,滑动视图自动偏移,普通视图被遮挡 其实,这种系统的优化也是可以控制关闭的,关闭优化之后,滑动视图就会和普通视图一样,如果还设置其布局的原点是(0,0),其内容就会被导航所覆盖,关键代码如下...,默认值是UIRectEdgeAll,即:当前视图控制器里各种UI控件忽略导航和标签的存在,布局时若设置其原点设置为(0,0),视图延伸显示导航的下面被覆盖。

3.1K20

iOS多控制器之UINavigationController&UITableBarController1. 多控制器2. UINavigationController3. UITableBarCont

第一次显示出来的自控制器; 2,addChildViewController:此方法是UIViewController的方法,可以用来添加子控制器; 3,通过属性viewControllers进行设置...*childViewControllers; 2.4.2 入 使用push方法能将某个控制器压入 -(void)pushViewController:(UIViewController *)viewController...Paste_Image.png 2.5 修改导航的内容 导航的内容由控制器的navigationItem属性决定 UINavigationItem有以下属性影响着导航的内容 //左上角的返回按钮...保存子控制起的形式: 获取UINavigationController下面的所有的子控制器:viewControllers / childViewControllers 导航条中按钮使用原始图片不进行系统渲染...:c1]; tb.viewControllers=@[c1,c2,c3,c4]; 注意:展示的顺序和添加的顺序一致,和导航控制器中不同,展现在眼前的是导航控制器的根视图控制器也就是第一个添加到导航控制器上的视图

1.2K40

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

以下有一些方法可以让滚动的内容能正常显示在状态 后面: 使用导航控制器(navigation controller)来展示内容。导航控制器自动展示状态背景,同时能确保内容视图不会出现在状态后面。...当键盘被唤起、用户使用了手势、或者当前视图变为竖屏的情况导航可以隐藏。...可以填充颜色(使用tintColor来定义导航中的图标与文字颜色;使用 barTintColor来填充导航背景色) API注释 导航包含于导航控制器(一个管理显示自定义视图层级结构的程序对象)中。...用容器视图控制器来呈现内容,使用户可以通过控制器来以自定义的方式进行导航。 先问问你自己是不是必须用到容器视图控制器。用户更习惯诸如对分视图、或者是标签视图这类他们所熟知的东西。...导航,工具,和标签 可以操作当前app视图中的对象的各种控件或对象 (默认情况, 浮出层中的表格视图导航和工具的背景都是透明的,这样让浮出层的毛玻璃效果展示出来) 在横屏的情况,动作列表总是出现在浮出层里

10.1K51

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

push方式加载子VC,而是通过AddChildViewController的方式添加的场景,则父级导航覆盖在子级导航条上面,所以需要在载入时把父级导航条做隐藏处理: 1.2 navigationItem...: UIBarMetricsDefault]; 2.5 常见开发问题 2.5.1 tableView被导航遮挡 IOS开发---菜鸟学习之路--(二十四)-iOS7View被导航遮挡问题的解决 http...://www.cnblogs.com/PleaseInputEnglish/p/3498032.html 2.5.2 导航条设置为半透明         将NavigationBar设置透明(仅将指定视图控制器进行透明处理...    方法一:(自定义视图的方法,一般人也采用这样的方式)         就是在导航向上添加一个titleView,可以使用一个label,再设置label的背景颜色透明,字体什么的设置就很简单了...否则会导致页面切换时选中状态不准确。

34420

iOS状态使用总结

此时全局设置的操作都是无效的,需要分页设置才能修改其样式,即:在每个视图控制器或者控制器基类中使用如下代码: - (UIStatusBarStyle)preferredStatusBarStyle {...//return NO; //设置状态显示 } 但是,这里存在一个问题:如果当前视图控制器是UINavigationController的子视图控制器,preferredStatusBarStyle...这是因为导航控制器里的preferredStatusBarStyle才具有修改状态样式的能力,解决这个问题的方法有两种: 方法1:添加子类导航控制器 我们需要使用自定义的子类导航控制器,在其中添加如下的代码...preferredStatusBarStyle方法,而且直接在当前视图控制器中调用如下方法修改状态。...,所以默认情况,状态都是跟随导航背景色的变化而变化。

1.9K30

iOS:分割控制器UISplitViewcontroller

分割控制器UISplitViewController 功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个;左边的为主控制器,右边的为详细控制器,主控制器可以根据需要显示或隐藏...它对于iPhone虽然可以使用,但是不具备同时显示的特点,在iPhone的样式,就是导航控制器切换的模式。...MasterNavigationController = [[UINavigationController alloc]initWithRootViewController:MasterVC]; //创建右侧导航控制器...Master的导航和按钮,并设置表格视图的数据源和代理 - (void)viewDidLoad { [super viewDidLoad]; //创建UITableView...Master的导航和按钮 self.navigationItem.title = @"Master"; self.navigationItem.leftBarButtonItem =

1.8K30

iOS初步集成极光推送后你还要做这些事

● 在后台收到系统通知,点击通知又如何跳转指定页面? ● 未启动时点击通知又如何跳转指定页面? ● 收到自定义通知如何显示? ● 怎么给指定用户发送消息?...三种状态,解释 Badge:应用角标 Sound:通知声音 Alert:通知 如果你同时需要通知展示,声音,角标,只需要以|符号连接即可,不需要的直接删除。...,你有必要判断当前控制器是否可以push过去,即有没有导航,如果没有则不能push,当然也可以像我这样先跳转到个人中心,保证有导航,但是这样的处理也许不适用你的app....image.png 设备标签、别名、ID、群 标签和别名差不多。只说别名。现在有这个场景:我想给我所有的注册用户推送消息,没注册的不想。...我们这里使用蒲公英平台安装生产环境包,archive后选择 ? image.png 然后选择Ad Hoc ? image.png 这样打包就是生产包了。

2.8K50

iOS基础问答面试题连载(二)-附答案

一个专门存放控制器View的View 一个导航条,导航条的高度为44,Y值为20 14.导航push做了哪些事情?...当调用push方法时, 会把要push的控制器添加到导航控制器管理的中,把之前导航控制器控制器View给移除,把当前控制器添加上去. 15.导航pop做了哪些事情?...当调用pop方法时, 会把要pop的控制器里移除,把之前导航控制器控制器View给移除,把当前控制器添加上去. 16.如何设置导航条的内容?...导航条的内容由导航控制器控制器的NavigationItem决定. 17.导航控制器pop操作有哪些? 返回上一级 返回到根控制器 返回到指定的控制器. 18.文本框如何拦截用户输入?...如果说图片的宽高,指定为小数点.造成锯齿,造成锯齿就会导致离屏渲染 cell当中的ImageView的大小最好是跟UIImage是一样大,如果不一样大 它会对UIImage做形变操作.cell当中展示都是小图

1.4K90

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

iOS开发UINavigation系列一——导航UINavigtionBar 一、导航使用         在iOS开发中,我们通常会使用导航控制器导航控制器中封装了一个UINavigationBar...,实际上,我们也可以在不使用导航控制器的前提下,单独使用导航,在UINavigationBar中,也有许多我们可以定制的属性,用起来十分方便。...二、UINavigationBar的创建和风格类型         导航继承于UIView,所以我们可以像创建普通视图那样创建导航,比如我们创建一个高度为80的导航,将其放在ViewController...NSDictionary *titleTextAttributes; 标题字体属性影响到导航的中间标题,如下:    bar.titleTextAttributes =...//向中添加一个item,上一个item会被推向导航的左侧,变为pop按钮,会有一个动画效果 - (void)pushNavigationItem:(UINavigationItem *)item

96431

iOS好用的第三方侧边控件——MMDrawerController

,其支持左侧抽屉和右侧抽屉,可以很好的支持导航控制器,并且支持开发者对手势和动画进行自定义。...二、MMDrawerController的使用及相关设置         MMDrawerController的使用十分简单,只需将中心视图控制器和左边视图控制器传入初始化方法即可完成MMDrawerController...= 1 << 3, //点击导航时可以关闭侧边 MMCloseDrawerGestureModeTapNavigationBar = 1 << 4, //点击中心视图控制器视图时可以关闭侧边..., //中心视图控制器只有导航可以进行用户交互 MMDrawerOpenCenterInteractionModeNavigationBarOnly, }; */ @property (...2.同时展示左边与又边。 3.无法设置显示一个最小的抽屉宽度。 4.不能支持UITabBarController容器。 5.不能在中心视图控制器之上呈现侧边视图

2.8K20
领券