首页
学习
活动
专区
工具
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:腾讯云暂无相关产品。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • iOS中storyboard故事板使用Segue跳转界面、传值

    在iOS的开发过程中,不可避免的要设计界面,在android中有xml设置界面和直接使用java代码设置界面控件两种方式,在之前的ios开发中也是类似的有xib文件设置界面及用代码直接设置控件两种方法,但后来又出了一种方式,就是storyboard故事板子,其实storyboard和xib文件很像,最大的不同之处在于一个xib文件对应一个ViewController视图控制器,而storyboard对应多个,基本一个应用只需要一个storyboard就可以了,不再需要为每个控制器创建一个xib文件,从这点上来说,还是很方便的,在storyboard中查看各个界面的跳转也很方便,但之前一直使用xib进行开发,对storyboard的使用不太熟悉,今天好好学习了一下其中的界面跳转和传值,用到了Segue这个东西,这里借着例子说明一下。

    02
    领券