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

关闭viewController会重置显示navigationController

是指在iOS开发中,当关闭一个视图控制器(viewController)时,导航控制器(navigationController)的显示状态会被重置。

导航控制器是一种用于管理多个视图控制器的容器控制器,它提供了导航栏(navigationBar)和导航栏堆栈(navigation stack)的功能。导航栏可以显示标题、返回按钮和其他自定义按钮,而导航栏堆栈则用于管理视图控制器的推入(push)和弹出(pop)操作。

当我们通过导航控制器将一个视图控制器推入堆栈时,导航控制器会自动管理导航栏的显示状态,并提供返回按钮以便返回上一个视图控制器。然而,当我们关闭(dismiss)一个视图控制器时,导航控制器的显示状态会被重置。

具体来说,关闭一个视图控制器会导致以下变化:

  1. 导航栏的显示状态会回到关闭该视图控制器之前的状态,可能是显示或隐藏。
  2. 导航栏堆栈中该视图控制器之后的所有视图控制器都会被移除,回到关闭该视图控制器之前的堆栈状态。
  3. 如果关闭的是导航控制器的根视图控制器,则整个导航控制器及其堆栈都会被关闭,返回到上一个容器控制器或者关闭整个应用程序。

这种重置导航控制器的行为可以帮助我们在视图控制器之间进行导航时保持一致的状态和堆栈结构。但在某些情况下,我们可能需要手动保存和恢复导航栏的显示状态或堆栈信息,以满足特定的需求。

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

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云音视频处理(VOD):https://cloud.tencent.com/product/vod
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

IOS隐藏键盘

最近遇到二个键盘自动弹出的问题: 1、UIWebView加载网页后,点击网页内的链接在UIWebView内进行跳转时,键盘自动弹起; 2、调用选择照片时,iPod上选择照片后也自动弹出键盘,比如从图库进到具体某个文件夹内...cancelButtonTitle:nil otherButtonTitles:@"OK", nil];     [alterview show];     [alterview release]; } 网页开始加载或加载结束时关闭键盘并发送关闭键盘的事件...-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController...*)viewController animated:(BOOL)animated {     viewController.contentSizeForViewInPopover = navigationController.topViewController.view.frame.size...:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController

1.3K20

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

property(nullable, nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer; 1.1 侧滑开启与关闭...),而其他的viewController则不需要禁用侧滑手势。...原生的导航条上的返回(back)按钮,一般是显示一个返回箭头+上一页面的标题(或者是 返回箭头+Back),如下图右边所示。 ?...custom views in the back bar button anyway.说明了backBarButtonItem只能自定义image和title,不能重写target or action,系统忽略其他的相关设置项...the button title.这段描述了关于backBarButtonItem的一些特殊点,如果你上一级设置的backBarButtonItem的标题过长(没有设置则默认是上一级标题),那么系统可能自动用

6.5K60

# iOS导航栏控制Tips

1.导航栏的显示与隐藏 导航栏的显示与隐藏,分两种情况: 1.从不显示导航栏的页面push到显示导航栏的页面。 2.从显示导航栏的页面Push到不显示导航栏的页面。...针对以上两种情况分别处理,整个Push过程都假设是从A页面跳转到B页面 1.1 从不显示导航栏的页面Push到显示导航栏的页面。 关于导航栏的显示,是否顺滑,是通过如下两个方法来控制。...// 不显示动画,导航栏显示就比较突兀 [self.navigationController setNavigationBarHidden:YES]; // 显示动画,在侧滑时,导航栏显示就比较顺滑...UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { // 这里延时执行是因为UIAlertController阻塞UI,可能导致动画的不流畅...UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { // 这里延时执行是因为UIAlertController阻塞UI,可能导致动画的不流畅

1.7K31

UI篇-UINavigationController之易忘补充

UIBarButtonItemStyleBordered target:nil action:nil];//不写就是back [UIBarButtonItemalloc]initWithImage//这个图片替代文字的位置...== 1)//关闭主界面的右滑返回 {        return NO; }else{         return YES;    } } ?...每个视图控制器都有一个navigationItem属性,navigationItem中设置的做按钮、右按钮、标题等,随着控制器的显示,也显示到navigationBar上 我们来看一下这些名词是什么意思...navigationItem包含了bar视图的全部元素(如title,tileview,backBarButtonItem等),受当前viewcontroller管理,即bar形成整个nv的导航视图,然后每个...自带了一个工具栏,通过设置 self.navigationController.toolbarHidden = NO来显示工具栏,工具栏中的内容可以通过viewController的toolbarItems

2.1K20

UI篇-关于单个页面屏幕旋转要注意的问题

前言 有时候,我们需要在整个项目中,使某一个ViewController支持屏幕旋转,而其他的ViewController并不能自动旋转。这是一个很常见的需求,下面就屏幕旋转相关问题做个小结。...mainScreen].bounds.size.height); } }]; } 注意状态栏无法强制旋转,在手机方向不变的情况下,所以,最好把状态栏隐藏掉,回复的时候再显示出来...每个controller都继承BaseViewController ,在BaseViewController中重写- (BOOL)shouldAutorotate 方法中 return NO; 默认关闭...,如何显示出来 //iOS8 横屏的时候系统默认隐藏了 [UIApplication sharedApplication].statusBarHidden = YES; [UIApplication...---- 小结 关于屏幕旋转的问题,目前先写这些,后续如果有新的东西收获,更新上去的。

3.6K20

UI篇-VC的生命周期以及UIView的layoutSubviews和drawRect方法

:控制器的view将要显示 viewWillLayoutSubviews:控制器的view将要布局子控件 viewDidLayoutSubviews:控制器的view布局子控件完成 viewDidAppear...:控制器的view完全显示 viewWillDisappear:控制器的view即将消失的时候 viewDidDisappear:控制器的view完全消失的时候 多个viewControllers...中了,而一个 VC 执行viewWillAppear 时必定是 self.navigationController 的 topViewController即栈顶的视图。...4、滚动一个UIScrollView触发layoutSubviews。 5、旋转Screen触发父UIView上的layoutSubviews事件。...**drawRect:方法不能手动显示调用,必须通过调用setNeedsDisplay 或 者 setNeedsDisplayInRect,让系统自动调该方法。强行调用也不会起作用的。

1.8K30

利用UIPanGestureRecognizer手势全屏侧滑返回

,当从根控制器跳转到下一个控制器再从下一个控制器返回的时候苹果为我们自带了侧滑返回的手势,但有两点需要注意: 注意点一:如果我们自定义了返回按钮那么苹果自带的侧滑返回手势失效(现在App的返回按钮几乎都是自定义...要想避免上述两个注意点中的问题,我们需要自定义NavigationController,并在NavigationController中做些操作: 在viewDidLoad方法中: self.delegate...:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController...animated:(BOOL)animated { if (viewController == self.viewControllers[0] ) {   // 如果显示的是根视图控制器 self.interactivePopGestureRecognizer.delegate...同样是在自定义的NavigationController中进行操作。

1.4K20

IOS开发之TabBarItem&NavigationBarItem

2.在Tab Bar Controller中又对应着三个Navigation Controller,点击不同的item跳转到不同的NavigationController。     ...3.每个Navigation Controller中又对应着一些ViewController, 这些ViewController之间我们可以通过按钮控制NavigationController来进行切换...接下来会为每个导航控制器配置NavigateBar, 在一个NavigationController中只有一个NavigationBar, 而在一个NavigationController下的各个ViewController...在我们的storyboard中只需要把Hide Bottom Bar on push选中即可,选中之后我们切换到该页面时,就不会显示Tab Bar了,如下图所示。 ?   ...对于TableView如何使用,在后面的博客进行详细的介绍。上面的Project用storyboard配置好以及实现相应的代码,运行效果如下: ?

1.3K80

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

● 收到自定义通知如何显示? ● 怎么给指定用户发送消息? ● 当有多个类型通知的时候,怎么拿到服务器发送过来的extras的内容,然后根据类型做出正确的跳转?...● 怎么在app内部开启、关闭通知? ● 你测试包(真机调试)收到通知后,怎么确定上架包也能收到消息?...UIViewController *currentVC = [self currentViewController]; //获取Window当前显示ViewController - (UIViewController...我这边让后台传的是这个,当然也有后台放extras这个字段的json数据,我后面会有代码详细说这个解析。 ○怎么给指定用户发送消息?...○ 怎么在app内部开启、关闭通知? 一般都在app设置中有一个switch的开关。来开启关闭通知,代码很简单,直接贴上来。有一点需要注意,就是这个开关的状态需要存到本地,有高要求的存服务器。

2.8K50
领券