1、view里实现控制器的modal

  • 拿到主窗口的根控制器,用根控制器进行modal需要的modal的控制器

    • 场景:点击自定义view里的按钮实现控制器的modal

UIViewController *root = [UIApplication sharedApplication].keyWindow.rootViewController;
[root presentViewController:<#(nonnull UIViewController *)#> animated:YES completion:nil];

2、主流框架下 ,自定义view里实现控制器的push

  • 拿到主窗口的根控制器UITabBarController,用UITabBarController 选中的控制器(导航控制器)进行push

UITabBarController *tabBarVc = (UITabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
UINavigationController *nav = (UINavigationController *)tabBarVc.selectedViewController;
[nav pushViewController:<#(nonnull UIViewController *)#> animated:YES];

3、主流框架下,自定义view里利用到UITabBarController控制器 modal 出来的导航控制器push

  • modal 关系

UIViewController *a ;
UIViewController *b ;
[a presentViewController:b animated:YES completion:nil];
b.presentingViewController (该属性指向) -> a
a.presentedViewController (该属性指向) -> b
  • 做法

UIViewController *root = [UIApplication sharedApplication].keyWindow.rootViewController;
UINavigationController *nav = (UINavigationController *)root.presentedViewController;
[nav pushViewController:<#(nonnull UIViewController *)#> animated:YES];

iOS 自定义view里实现控制器的跳转的更多相关文章

  1. iOS Programming View Controllers 视图控制器

    iOS Programming View Controllers  视图控制器  1.1  A view controller is an instance of a subclass of UIVi ...

  2. ios自定义View自动布局时计算大小

    https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Impleme ...

  3. IOS Note - View Controller(视图控制器)

    Application Delegate(应用程序委托) Application Name: SingleView SingleViewAppDelegate.h #import <UIKit/ ...

  4. Android 自定义 view(四)—— onMeasure 方法理解

    前言: 前面我们已经学过<Android 自定义 view(三)-- onDraw 方法理解>,那么接下我们还需要继续去理解自定义view里面的onMeasure 方法 推荐文章: htt ...

  5. Android 自定义view中的属性,命名空间,以及tools标签

    昨日看到有人在知乎上问这3个琐碎的小知识点,今天索性就整理了一下,其实这些知识点并不难,但是很多开发者平时很少注意到这些, 导致的后果就是开发的时候 经常会被ide报错,开发效率很低,或者看开源代码的 ...

  6. andorid 自定义view属性declare-styleable

    1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name = "名称"> <attr name = &quo ...

  7. Android初级教程初谈自定义view自定义属性

    有些时候,自己要在布局文件中重复书写大量的代码来定义一个布局.这是最基本的使用,当然要掌握:但是有些场景都去对应的布局里面写对应的属性,就显得很无力.会发现,系统自带的控件无法满足我们的要求,这个时候 ...

  8. iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解

    iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件.如iOS回顾笔记(02)中的"书" ...

  9. .net MVC微信开发自定义View类型菜单时在相应控制器获取用户OpenID的问题

    因为公司的项目在接收微信服务器Post过来的数据包是有指定的入口,所以在相应控制器里无法接收到微信服务器Post过来的数据,所以无法获得OpenID,也尝试过先在入口哪里解析获得OpenID再通过Se ...

随机推荐

  1. 简短介绍 C# 6 的新特性 .net 6都要来了?

    几周前我在不同的地方读到了有关C#6的一些新特性.我就决定把它们都收集到一起,如果你还没有读过,就可以一次性把它们都过一遍.它们中的一些可能不会如预期那样神奇,但那也只是目前的更新. 你可以通过下载V ...

  2. kickstart一键自动安装Linux系统

    kickstart,无人值守,自动安装系统.本文介绍kickstart的用法. #安装系统的信息——可以参考 [root@larrywen pdf]# vim ~/anaconda-ks.cfg 第一 ...

  3. 《UCD火花集1-2》读后感

                                                                      一个多月的时间都没有更新博客了,只因为9月份有了其他的任务,耽搁了一 ...

  4. vm.dirty_background_ratio and vm.dirty_ratio

    http://hellojava.info/?p=264&utm_source=tuicool&utm_medium=referral 解决磁盘io紧张的一种临时方法 有些时候可能会碰 ...

  5. docker 容器数据管理

    给容器添加一个数据卷 sudo docker run -d -P --name web -v /webapp training/webapp python app.py 可以在Dockerfile中使 ...

  6. Tfs服务器迁移(更改IP)后客户端(vs2013)配置方法

    一.前言 公司开发项目需要进驻客户现场,局域网中的tfs代码服务器有时会有修改ip的情况发生.服务器ip修改后在vs2013中更改服务器ip地址非常麻烦,有些时候需要将代码重新进行映射.多次试验后将可 ...

  7. PathAnimation

    使用Blend制作PathAnimation 1:选中Path转换为运动路径 2:选择目标对象 PathAnimation使用动态的Path PathAnimation动画在播放的时候,PahtGeo ...

  8. 如何成为apple开发者???

    苹果开发者帐号申请流程如下 http://www.360doc.com/content/13/1029/12/11029609_325024387.shtml 苹果开发者账号分为 个人(individ ...

  9. [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  10. 明风:分布式图计算的平台Spark GraphX 在淘宝的实践

    快刀初试:Spark GraphX在淘宝的实践 作者:明风 (本文由团队中梧苇和我一起撰写,并由团队中的林岳,岩岫,世仪等多人Review,发表于程序员的8月刊,由于篇幅原因,略作删减,本文为完整版) ...