从一个视图控制器切换到另一个视图控制器的几种方式

1,模态(modal)画面的显示方法:

例如iphone通讯录管理程序中,追加新的通讯纪录时,就是使用这种模态画面

例:点击一个按钮,进入另一个界面

- (IBAction)pressAbout:(id)sender {

XAboutViewController *about=[[[XAboutViewController alloc] initWithNibName:@"XAboutViewController" bundle:nil] autorelease];

[self presentModalViewController:aboutanimated:YES];//显示模态画面

关闭模态画面的方法:

[self dissmissModalViewControllerAnimationed:YES];

2,SwitchViewController中有2个控制器的属性:BviewController,CViewController

点击按钮之后可以在B与C视图之间切换,也就是ios5开发那本书中的多视图应用程序的例子

使用方法:insertSubview: atIndex:

这种画面跳转方法并非最佳的跳转方法:

实际上并非真的实现了两个画面间的跳转,而是同时启动了2个画面,控制其中哪一个画面显示在前台,哪一个画面显示在后台而已。

这种画面跳转方式有一个很大的缺点,即当画面数量增加时,画面跳转的实现代码将月来越复杂,而且各个画面间不可避免的有相互依赖关系。

3,UITabBarController实现并列画面跳转

//将5个viewController实例放入TabBar的viewcontrollers属性中

self.tabBarController.viewControllers = @[navFrist, navSecond,navThird,navFourth,navFifth];

self.window.rootViewController = self.tabBarController;

[self.window addSubview:self.tabBarController.view];//将根控制器的视图加到应用程序主窗口

4,UINavigationController实现多层画面跳转,在导航控制器中,载入有层级关系的界面

- (IBAction)addRightAction:(id)sender

{

XAddSymbolViewController *addSymbol=[[[XAddSymbolViewController alloc]initWithNibName:@"XAddSymbolViewController" bundle:nil] autorelease];

[self.navigationController pushViewController:addSymbolanimated:YES];

}

转载于:https://www.cnblogs.com/lkjson/p/4337759.html

从一个视图控制器切换到另一个视图控制器的几种方式相关推荐

  1. 【八皇后】给定一个大小为 n 的正方形国际象棋棋盘,求有多少种方式可以放置 n 个皇后并使得她们互不攻击,即每一行、列、左斜、右斜最多只有一个皇后。

    给定一个大小为 n 的正方形国际象棋棋盘,求有多少种方式可以放置 n 个皇后并使得她们互不攻击,即每一行.列.左斜.右斜最多只有一个皇后. 输入是一个整数 n,输出是一个整数 m,表示所有的棋盘表示方 ...

  2. form表单、控制器中接收表单提交数据的4种方式

    Form表单 这篇文章主要讲的是form表单的提交 之前我们接触过的form表单元素是在Bootstrap框架里面,这次也将用到Bootstrap框架去布局(见图表1)通过Bootstrap框架布局呈 ...

  3. java回车后自动从一个文本框切换到另一个_Java实用教程-Java基本语法-Java程序的构成...

    Java源程序逻辑构成分为两大部分:程序头包的引用和类的定义. 1.程序头包的引用 主要是指引用JDK软件包自带的包,也可以是自己定义的类.引用之后程序体中就可以自由应用包中的类的方法和属性等. 2. ...

  4. cmd 将文件夹下文件剪切到另外一个文件_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇...

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  5. 交换机口不够用能再加一个吗_实现交换机网线延长250米的两种方式,掌握后能避免踩雷...

    人们对安全防范意识的提高,让安防监控有了大面积需求的发展,资料研究表明,网络数据传输的最大距离不超过100米,超过后会发生数据丢失等结果,在一个监控组网中,总会有那么一两个摄像头因为离得太远而发生监控 ...

  6. angular cli 切换 css_漫谈 Angular 定制主题的四种方式

    主题定制是提升用户体验最常见的一种,前端框架众多,主题定制方式却异曲同工,下面来介绍一下 Angular 中实现主题定制的四种方式. 1. webpack loader React 版本的 Ant D ...

  7. uniapp滑动切换tab标签_Web前端,Tab切换,缓存,页面处理的几种方式

    前言 相信tab切换对于大家来说都不算陌生,后台管理系统中多会用到.如果不知道的话,可以看一下浏览器上方的标签页切换,大概效果就是这样. 1.如何切换 使用动态组件,相信大家都能看懂(部分代码省略)/ ...

  8. Android开发 关于避免切换主题时免闪屏的几种方式

    Android开发 关于避免切换主题时闪屏的几种方式 在activity中调用setTheme来切换夜间模式的方法可能大家有看过相关的文章了,但是调用setTheme设置的主题后界面并没有变化,这时需 ...

  9. eclipse查看一个方法被谁引用(调用)的快捷键四种方式

    1.(首推)双击选中该方法,Ctrl+Alt+H 如果你想知道一个类的方法到底被那些其他的类调用,那么请选中这个方法名,然后按"Ctrl+Alt+H",  Eclipse就会显示出 ...

最新文章

  1. JS实现复制到剪切板效果
  2. SFB公开课:TMG/IISARR/Web Application Proxy/发布UC(Lync/SFB)-2-通知
  3. CoreAnimation--CALayer的动画
  4. (多图)老弟,你连HTTPS 原理都不懂,还给我讲“中间人攻击”,逗我吗...
  5. 【Flask】ORM一对一关联关系
  6. 生日小助手的问答帮助——随时更新,长期有效……
  7. c语言贪吃蛇最简单,熬书几个月,终于编出简易的贪吃蛇了,VS2013
  8. 计算机网络硬件的作用是什么,网络技术在计算机软硬件的作用
  9. hashmap大小_调整HashMap的大小:未来的危险
  10. 基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现
  11. export default 打包_贵阳【打包扣】价格
  12. python文字处理dummy_python中multiprocessing、multiprocessing.dummy和threading用法笔记
  13. mysql中float、double、decimal的区别
  14. 非标自动化企业前十名_自动化输送+旋盖,竟如此简单!机械设计教程精选!...
  15. 新年礼物第二弹,热升华机械键盘免费抽
  16. matlab实现带通滤波器的方法,数字信号处理课程设计---带通滤波器的设计及其MATLAB实现.doc...
  17. WebRTC源码研究(46)WebRCT统计信息
  18. 带你走进程序员世界:资历深不是优势,资源才是难得的宝藏!
  19. python操作txt找到最便宜的素菜_Python線性模型學習筆記
  20. 【数据结构】之图的遍历(C语言)

热门文章

  1. 3个Gmail 邀请,先进先出!!
  2. 快速部署ldap服务
  3. ZooKeeper(二)ZooKeeper能做什么?
  4. 安卓自定义View进阶-分类与流程
  5. 转载-程序员编程技术迅速提高的终极攻略
  6. 基于报文地址的策略路由配置示例
  7. 【2022】多线程并发编程面试真题
  8. Linux bash总结(一) 基础部分(适合初学者学习和非初学者参考)
  9. 操作系统内存管理问题集锦
  10. 网络爬虫--27.csv文件的读取和写入