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

1,模态(modal)画面的显示方法:
例如iphone通讯录管理程序中,追加新的通讯纪录时,就是使用这种模态画面
例:点击一个按钮,进入另一个界面

- (void)goForward

{

ModalViewController * modalView = [[ModalViewControlleralloc]init];

modalView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

// [self presentModalViewController:modalView animated:YES];  ios 6 弃用了该方法

[selfpresentViewController:modalView animated:YEScompletion:nil];

}

关闭模态画面的方法:

- (void)goBack

{

[self dismissViewControllerAnimated:YES completion:^{

//这里加个日志,点击按钮模态视图移除后会回到这里

NSLog(@"back"); //ios 5.0以上可以用该方法

}];

}

2,SwitchViewController中有2个控制器的属性:BviewController,CViewController
点击按钮之后可以在B与C视图之间切换,也就是ios5开发那本书中的多视图应用程序的例子

self.view insertSubview:(加载的新页面) atIndex:n;

使用方法:

对n的解释:页面都是层次叠加的,n表示加载到那一层上面

这种画面跳转方法并非最佳的跳转方法:
实际上并非真的实现了两个画面间的跳转,而是同时启动了2个画面,控制其中哪一个画面显示在前台,哪一个画面显示在后台而已。
这种画面跳转方式有一个很大的缺点,即当画面数量增加时,画面跳转的实现代码将月来越复杂,而且各个画面间不可避免的有相互依赖关系。(多用于在一个页面中有时要显示或隐藏某个View会遮挡)
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=[[[XAddSymbolViewControlleralloc]initWithNibName:@"XAddSymbolViewController" bundle:nil] autorelease];

[self.navigationController pushViewController:addSymbolanimated:YES];

}

返回原视图方法:

[self.navigationController popViewControllerAnimated:YES];//弹出后返回到原视图

转载于:https://www.cnblogs.com/ranger-jlu/p/3875691.html

不同视图间的跳转方式相关推荐

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

    从一个视图控制器切换到另一个视图控制器的几种方式 1,模态(modal)画面的显示方法: 例如iphone通讯录管理程序中,追加新的通讯纪录时,就是使用这种模态画面 例:点击一个按钮,进入另一个界面 ...

  2. (0089)iOS开发之iOS应用间相互跳转(URL Scheme)

    需求:假设有应用A和应用B两个应用,现在需要从应用A跳转到应用B中.如果手机中没有安装跳到下载页,如果已经安装直接打开APP. 认识URL Scheme URL Schemes是苹果给出的用来跳转到系 ...

  3. iOS 页面间几种传值方式(属性,代理,block,单例,通知)

    第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视 ...

  4. mui几种页面跳转方式对比

    mui几种页面跳转方式对比 http://blog.csdn.net/uikoo9/article/details/44676963 [几种打开页面的方式] 1.初始化时创建子页面 2.直接打开新页面 ...

  5. SpringMVC自学日志05(结果跳转方式,数据处理 ,乱码问题)

    结果跳转方式 通过SpringMVC来实现转发和重定向 - 无需视图解析器:== @Controller public class ResultSpringMVC {@RequestMapping(& ...

  6. Android 跳转到第三方应用(应用间的跳转)

    在开发的过程中 有时候可能会需要进行应用之间的跳转 而跳转又分为显式意图和隐式意图 首先说一下显示意图和隐式意图的区别 显式意图:明确指定组件名的Intent为显示意图,明确了Intent应该传递给那 ...

  7. android调试第三方应用,Android 跳转到第三方应用(应用间的跳转)

    博客原文内容 在开发的过程中 有时候可能会需要进行应用之间的跳转 而跳转又分为显式意图和隐式意图 首先说一下显示意图和隐式意图的区别 显式意图: 明确指定组件名的Intent为显示意图,明确了Inte ...

  8. qiankun微应用之间、主微应用之间相互跳转方式总结与实践

    一.子应用互相访问 1.背景 (1)未来可能需要做不同子应用菜单的合并,如在bi应用下的侧边栏或者别的地方,需要跳转到数据治理的数仓主题里,或者涉及到子应用值改变,其他应用也需要使用: (2)a标签跳 ...

  9. html5页面跳转方式,H5页面跳转的交互设计方法

    今年做了大量的H5项目,遇到了很多坑,有自家的也有第三方的,在这个过程中get到了一些之前不具备的知识,所以这一篇,就简单分享一下这方面的话题吧. 一.传统的MPA 首先,说一个比较古老的东西,叫做M ...

最新文章

  1. 为什么Python没有main函数?
  2. 动物为什么会预知地震,地震后为什么会下雨?
  3. matlab 英语怎么读,MATLAB SPTooL
  4. Codeforces Round #233 (Div. 2)D. Painting The Wall 概率DP
  5. 生成step文件_利用opencv给彦女王生成一副蒙太奇画像
  6. c++ 三次多项式拟合_线性回归进阶版,多项式线性回归讲解与实现(附完整代码)...
  7. caffe,caffe2 and pytorch
  8. [编写高质量代码:改善java程序的151个建议]后记
  9. 软件版本GA,RC,alpha,beta,Build 含义
  10. Trying to create too many scroll contexts. Must be less than or equal to: [500]
  11. 为python写了一个事件机制 - 小川 - 博客园
  12. excel计算机考试操作题,Excel计算机考试操作题全解
  13. A 股历年三大财务报表 API 接口
  14. 如何搜索自己博客内的文章
  15. 浅谈在windows系统下esp8266和esp32开发共存一个eclipse编译器,非安信可一体化环境,而是搭建自己的eclipes环境。
  16. 回溯算法(持续更新)
  17. 如何根据vin码查询_汽车VIN码是什么,怎么查询Vin码?
  18. 自定义alert和confirm的效果,个人感觉蛮好使用的
  19. PMP-33项目质量管理
  20. 计算机外文文献论文翻译,外文文献+翻译--计算机专业论文

热门文章

  1. 关于SQL操作的一些经验
  2. 获得本机的IP,掩码和网关
  3. 我的第一篇学术论文发表出来啦啦啦啊!!!
  4. 控制反转(ioc)和 面向切面(AOP)
  5. sed 和 awk 的一些用法
  6. 内置传感器---智能手机(资料)
  7. Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
  8. 如何杀掉D状态的进程?[zt]【转】
  9. ORACLE+RAC+ASM环境下添加redo日志组
  10. 【APUE】Chapter17 Advanced IPC sign extension 结构体内存对齐