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

如何使用NavigationController之前的配置重新启动ViewController?

在使用NavigationController之前的配置重新启动ViewController,可以按照以下步骤进行操作:

  1. 首先,确保你的ViewController已经被Embed在NavigationController中。如果没有,可以通过选中ViewController,然后选择Editor -> Embed In -> Navigation Controller来将其嵌入。
  2. 在需要重新启动ViewController的地方,可以使用以下代码来进行配置:
代码语言:txt
复制
if let navigationController = self.navigationController {
    // 创建一个新的ViewController实例
    let viewController = self.storyboard?.instantiateViewController(withIdentifier: "YourViewControllerIdentifier") as! YourViewControllerClass

    // 重置导航栈,将新的ViewController设置为根视图控制器
    navigationController.setViewControllers([viewController], animated: false)
}

在上述代码中,你需要将"YourViewControllerIdentifier"替换为你的ViewController在Storyboard中的标识符,将"YourViewControllerClass"替换为你的ViewController的类名。

  1. 如果你需要在重新启动ViewController时传递一些数据,可以在创建新的ViewController实例后,设置其属性值。例如:
代码语言:txt
复制
viewController.propertyName = value
  1. 最后,通过调用以下代码来重新启动ViewController:
代码语言:txt
复制
navigationController.popToRootViewController(animated: true)

这将导航回导航栈的根视图控制器,并且可以选择是否使用动画效果。

这样,你就可以使用NavigationController之前的配置重新启动ViewController了。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议你参考腾讯云官方文档或者咨询腾讯云的技术支持团队,获取相关产品和服务的详细信息。

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

相关·内容

IOS开发之TabBarItem&NavigationBarItem

下面将会结合一个实际效果来简单介绍一下TabBar和NavigationBar, 然后说一下用我们storyboard和纯代码如何配置我们NavigationBar, 上一篇博客中提到了如何用Navigation...下面的视图控制器之间关系是如何用storyboard拖出来,在之前博客中有所提及,在这小编就不赘述了。   ViewController之间关系大致入下图: ?   ...3.每个Navigation Controller中又对应着一些ViewController, 这些ViewController之间我们可以通过按钮控制NavigationController来进行切换...接下来会为每个导航控制器配置NavigateBar, 在一个NavigationController中只有一个NavigationBar, 而在一个NavigationController各个ViewController...在View中展示数据时候,TableView用也是蛮多。 对于TableView如何使用,在后面的博客会进行详细介绍。

1.3K80

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

对于父级VC与子级VC分别有navigationController情况,即不是使用push方式加载子VC,而是通过AddChildViewController方式添加场景,则父级导航条会覆盖在子级导航条上面...,所以需要在载入时把父级导航条做隐藏处理: 1.2 navigationItem         在含有导航条ViewController中,VCnavigationItem与VC.navigationController...: (UIViewController*) viewController animated: (BOOL)animated{     //如果进入是当前视图控制器     if (viewController...    方法一:(自定义视图方法,一般人也会采用这样方式)         就是在导航向上添加一个titleView,可以使用一个label,再设置label背景颜色透明,字体什么设置就很简单了...2.5.8 Tabbar显示与隐藏 Tabbar隐藏函数,其实只在Nav Push之前调用时起作用 //隐藏Tabbar [viewController setHidesBottomBarWhenPushed

31620

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

之前在网上搜过有关侧滑手势技术博客,发现大多比较散乱,甚至有很多都是简单粘贴复制,并不全面。侧滑返回操作效果与左上角back按钮是一样,所以一起放在这里进行探讨。...= NO; //禁用侧滑手势  1.2 侧滑使用注意 侧滑手势在使用中需要注意一点就是在项目开发中,我们一般是采用UITabBar + UINavigationController架构,对于每一个...),而其他viewController则不需要禁用侧滑手势。...= YES; } } 1.3 侧滑手势获取 如果一个页面上有多个手势,我们要如何去获取策划手势,并对其进行操作呢?... screenEdgePanGestureRecognizer]];  二 导航栏back按钮   在了解导航栏返回按钮之前,我们先了解一下导航栏管理导航栏上各类控件UINavigationBar

6.3K60

iOS 组件化之CTMediator

关于iOS组件化网上资料太多,这里只是从个人观点说明一下怎么使用组件化和使用组件化优点和缺点 首先下载CTMediatorDemo Demo目录结构 ?...项目在没有使用CTMediator之前模块间关系是这样 ?...组件化优点 举个例子,公司某个App有一个登录模块,过一段时间需要研发一个新App,为了节省时间就用之前App有的登录模块,就需要把登录模块抽取出来做成组件,可能某些同学就会问,这不是私有化Pod库就能实现吗...接着说即使把登录模块私有化Pod后,那么假如在B项目中ModuleA,ModuleB,ModuleC都需要验证,如果没有登录就调用登录模块,哪又回到了之前耦合问题上了ModuleA,ModuleB,ModuleC...3.如果公司有2个以上开发人员并且时间相对充裕情况下,在公司业务相对稳定,情况下可以考虑使用组件化。 4.公司有2个及以上App,有重合业务可以优先考虑先把重合业务抽取成组件。

2K30

iOS项目——基本框架搭建

目前资讯新闻类移动端项目的主流App框架基本都是标签式,这种类型导航设计技术上基本上都是通过TabBar + NavigationController框架进行搭建完成,大家经常使用微博、今日头条等都是采用...今天我们主要任务就是搭建我们TabBar,如果采用系统自带UITabBarController(官网文档戳这里),在使用过程有一下几点需要注意: 每一个barItem都必须对应一个ViewController...添加itemBar对应ViewController方法有两种:一是使用UITabBarController  方法设置;二是用UIViewController addChildViewController...程序一起动就调用load方法 Initialize方法:初始化类,当第一次使用这个类或者子类时候调用 viewdidload方法:当viewcontroller第一次即将显示时候加载。...具体如何创建和配置PCH文件详情可以参见:ios中pch文件创建与配置   下面是在编写PCH文件需要注意一些情况: #ifndef PrefixHeader_pch #define PrefixHeader_pch

1.7K80

iOS状态栏设置

设置为YES时 ViewController配置优先级高于Application配置 UIViewControllerBasedStatusBarAppearance设置为NO时 那么只取Application...配置ViewController配置不生效 也可以在Info.plist添加默认状态栏样式 Status bar style设置为UIStatusBarStyleLightContent或UIStatusBarStyleDefault...就是 如果你ViewControllerNavigationController中,那么直接在ViewController设置是不生效,只能在NavigationController中设置 所以如果你用...Storyboard中配置NavigationController话,就必须为NavigationController添加一个自定义类,就稍显麻烦了,所以并不推荐用这种方式设置 设置背景色 改变方法有两种...; 注意 1) appear.translucent配置在早期系统会崩溃,不建议配置,建议在ViewController配置 2) 在translucent=true也就是透明时,barTintColor

2.6K11

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

)和UIViewController紧密结合了起来 总结: NavigationController管理东西: NavigationController管理多个Controller NavigationController...initWithNavigationBarClass:(nullable Class)navigationBarClass toolbarClass:(nullable Class)toolbarClass; (2)使用系统默认导航栏和工具栏...继承该父类控制器调用此方法都可以隐藏push来控制器底部TabBar - (void)pushViewController:(UIViewController *)viewController animated...:(BOOL)animated { // 这里参数viewController就是即将被push进来控制器 viewController.hidesBottomBarWhenPushed...UIViewController *)viewController animated:(BOOL)animated; (2)视图已经展示时调用方法 - (void)navigationController

2.1K60

03_iOS导航栏正确隐藏方式

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

1.2K20

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

前言 有时候,我们会需要在整个项目中,使某一个ViewController支持屏幕旋转,而其他ViewController并不能自动旋转。这是一个很常见需求,下面就屏幕旋转相关问题做个小结。...不可使用self.view.frame.size.width self.view.frame.size.height,这样会出现第一次旋转出现上下部分白边Bug,需要使用 [UIScreen mainScreen...viewcontroller设置 如何实现某一个页面屏幕旋转,而其他页面不旋转 首先, - (BOOL)shouldAutorotate 必须在 self.window.rootViewController...所以页面支持方向是一定要设定,不设定的话就是默认:左中右。 屏幕旋转中其它问题 如何应用程序刚启动时判断设备方向呢?...之前那些都是都是在rootViewController之后去判断,但是,在程序刚刚启动时做这些判断都是无效

3.5K20

XCode4.2.1 使用NavigationController实现View切换

XCode4.2.1 使用NavigationController实现View切换 现在网上有很多关于NavigationController实现页面之间导航,但是大部分都是老版本实现方式,基于Window...老版本实现NavigationController项目源代码 ?...但是新版没有这个模板比如Single view application项目直接生存ViewController不带Window和 mainWindow.xib文件 ?...加入代码后显示界面就会出现导航栏了 如果要设置导航栏标题内容,只需修改ViewController.m,你第一个载入rootViewController ? 运行效果 ? ?...第二view上面导航按钮返回上一个view功能不需要使用代码实现,当然写代码也可以,参考代码如下 ? 希望对刚刚学习iphone开发有所帮助,我也是刚刚开始学习。一起学习一起进步。

58680

UI篇-VC生命周期以及UIViewlayoutSubviews和drawRect方法

---- viewController生命周期 单个viewController生命周期 initWithCoder:(NSCoder *)aDecoder:(如果使用storyboard或者xib...一个VC 在执行viewWillDisappear 或者viewDidDisappear 方法时都是出栈之后才执行,也就是说 已经不在 self.navigationController viewControllers...中了,而一个 VC 执行viewWillAppear 时必定是 self.navigationController topViewController即栈顶视图。...一个很常见问题,我们需要在VC被销毁时候处理一些事情,可是 viewWillDisappear 不管是入栈新视图还是出栈当前视图都会被调用,无法判断,结合我之前原理,我们可以利用下面这个方法判断当前...中跟试图初始化是需要时间,你在VC根试图初始化之前调用绘制UI方法当然是不会有效果出现

1.8K30

使用流动控制器(Flow Controller )实现 MVVM 协议模型

最近几周,我想了很多有关如何提高我对 MVVM 架构理解,并且创建一个可维护开发框架。所以我看了 Krzysztof Zabłocki 关于软件架构视频, 这个视频太赞了。...总目标 在选择哪一个架构之前,我会制定一个包含这个架构所关注能解决什么目标的列表,这是从我多年 Java 项目开发中总结出。这帮助我定义我们架构优点。下面是促使我测试要点。...MVVM 这种架构和我之前项目的架构很像,唯一不同是 VC (ViewController) 必须接受一个兼容 ViewModel(通过既定协议)。...这个内容显示是通过 FlowController 枚举配置。 我不会讲太多我决定构建内容有多混乱,因为我在很短时间( 8 小时)内测试我抽象极限,现在正在完善代码,而不是增加项目。...我下一篇文章将是如何建立有效测试,简单易维护。

93940

iOS开发过程中奇淫技巧记录

:(NSInteger)section {     return 0.01; } 结束当前界面,进入新界面,使用导航pushViewController进入下一个页面,需要删除navigationController.viewControllers...中保存的当前页面 [self.navigationController pushViewController:vc animated:YES];          //结束当前界面 __weak typeof...,最原始就是frame,如果是使用约束,也需要至少指定左、上,宽、高,否则约束会出现异常(xib中配置约束或者使用Masonry配置约束),比方设置一个view在屏幕底部约束: [view mas_makeConstraints...,搜索框背景修改,网上都有很多奇淫技巧,发现都不正规,正规改法往往很简单,原因在于控件有很多层次,由于没有找到背景所在正确层级,所以你发现很多设置不生效,关键点是经常使用Debug View...预加载     [viewController load];      //[viewController loadViewIfNeeded];

55320

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

当然图片多了能够使用clipsToBounds剪裁。 (2)但。...(3)还有一个重要知识是对navigationItem设置,这个属性和navigationController是平级,所以直接能够用self.navigationItem使用。...在ViewController.m中: #import "ViewController.h" #import "SecondViewController.h" @interface ViewController...则自己主动repeat图片 //UIBarMetricsCompact-竖屏没有,横屏有,相当于之前老iOS版本号里地UIBarMetricsLandscapePhone //UIBarMetricsCompactPrompt...事实上是导航控制器在控制,在里面的元素都能够通过navigationController属性获取到它们所在导航控制器 //所以(2)获取到导航控制器之后,使用Push那个方法,往栈里面放一个视图控制器

2.1K10
领券