A控制器----B控制器-----C控制器:C直接跳转A

自定义C控制器返回按钮

1         UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back)];
2
3         self.navigationItem.leftBarButtonItem = backBarButton;

监听back

- (void)back
{
    UIViewController *popVC = self.navigationController.viewControllers[1];

    NSLog(@"%@", self.navigationController.viewControllers);

    [self.navigationController popToViewController:popVC animated:YES];

}

具体要返回到第几个控制器 可以打印

self.navigationController.viewControllers

这是数组,可以看到里面每个控制器的顺序改变索引就可以任意跳转了

注意:如果没有自定义按钮 需要实现以下方法 避免可以左滑返回:
1 - (void)viewWillAppear:(BOOL)animated
2 {
3
4     self.navigationController.interactivePopGestureRecognizer.enabled = NO;
5 }
1 - (void)viewWillDisappear:(BOOL)animated
2
3 {
4
5          self.navigationController.interactivePopGestureRecognizer.enabled = YES;
6
7 }
 
时间: 2024-11-02 02:58:17

A控制器----B控制器-----C控制器:C直接跳转A的相关文章

集合视图控制器(CollectionViewController) 、 标签控制器(TabBarController) 、 高级控件介绍

  1 创建集合视图,设置相关属性以满足要求 1.1 问题 集合视图控制器UIConllectionViewController是一个展示大量数据的控制器,系统默认管理着一个集合视图UICollectionView,功能几乎和UITableViewController差不多,能够以多行多列的形式展示数据. 集合视图UICollectionView继承至UIScrollView,也同tableView一样有两个协议,分别是UICollectionViewDataSource数据源协议和UIColl

UISegmentedControl(分页控制器) AND UISlider(滑块控制器)

- (void)viewDidLoad { [super viewDidLoad]; UIImageView * animatedImageView = [[UIImageView alloc]initWithFrame:CGRectMake(60, 80, 200, 300)]; animatedImageView.backgroundColor = [UIColor redColor]; animatedImageView.tag = 100; [self.view addSubview:a

控制器的创建和控制器View的创建

一.控制器的创建 1.第一种创建方式 FCViewController *vc = [[FCViewController alloc] init]; 2.第二种创建方式 // 加载UIStoryboard(注意:仅仅是加载名称叫做Test的storyboard, 并不会创建storyboard中的控制器以及控件) UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil]; // 创建s

【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解

(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最以下,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们须要把导航控制器载入到APP中,须要把这个导航控制器设置为window的根视图控制器(都是控制器类,能够赋值),这样就相当于载入到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就须要得到导航控制器,一般在栈中得全部视图控制器都有一个self.

View()/Redirect()/RedirectToAction()的区别(控制器调用另一个控制器||视图)

如: public actionResult Index { return viewn() --返回默认视图Index.cshtml return View("PayList")  --从Index控制器调用PayList.cshtml  注:此处仅仅是调用视图,并未经过PayList控制器,如果控制器中有逻辑代码则就调用不到了 return Redirct("Pay/PayList"); --只能通过url路径跳转(无重载) return RedirctToAct

iOS9,导航控制器中的子控制器设置StatusBar状态失效的问题

iOS9之前控制StatusBar的两种方式: 第一种方式:全局控制StatusBar 1. 在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为NO. 2. 使用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];方法设置颜色. 第二种方式:基于控制器的方式控制StatusBar 1. 在项目的Info.plist

导航控制器和自定义导航控制器

导航控制器appDelegateViewController * vc = [[ViewController alloc] init];    UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:vc];    self.window.rootViewController = nav; 具体在ViewController中设置    //设置标题    self.tit

(6/18)重学Standford_iOS7开发_控制器多态性、导航控制器、选项卡栏控制器_课程笔记

终于有时间跟新了,两周时间复(yu)习(xi)了5门考试累觉不爱...... --------------------------------------------------------------------------我是正文分割线--------------------------------------------------------------------------------------------- 第六课 1.控制器多态性 这里控制器多态性是指在控制器中使用继承,通过继

Angular-ui/bootstarp modal 主控制器与模态框控制器传值

调用模态框: $scope.open = function (size) { //这里很关键,是打开模态框的过程 var modalInstance = $uibModal.open({ animation: $scope.animationsEnabled,//打开时的动画开关 templateUrl: 'myModalContent.html',//模态框的页面内容,这里的url是可以自己定义的,也就意味着什么都可以写 controller: 'ModalInstanceCtrl',//这是

【iOS开发-24】导航控制器下不同视图控制器之间切换:利用CATrasition和view的layer层来实现自定义的动画效果

(1)这里的动画效果指的是界面切换的动画效果,我们常见的又淡入淡出,右出左进等等,当然还有一些高级动画,这种动画适合游戏类的,对于一般APP会显得太花哨. (2)我们在此处没有增加任何框架(QuartzCore)也没有导入什么头文件(QuartzCore.h),就可以直接用CATransiton(相当于是CAAnimation的子类)来创建一个对象,如animation1. (3)创建完之后我们就对这个动画对象进行动画设置,这里面主要是涉及到type属性,而且值有两种:一种是调用系统自带的一些效