方式一:Storyboard的segues方式

鼠标点击按钮button然后按住control键拖拽到SVC页面,在弹出的segue页面中选择跳转模式即可

优点:操作方便,无代码生成,在storyboard中展示逻辑清晰
缺点:页面较多时不方便查看,团队合作时可维护性差, 多人合作时不建议使用这种方式。

方式二:选项卡UITabBarController控制器

通过调用UITabBarController的addChildViewController方法添加子控制器,代码实例如下:

1
2
3
4
5
6
7
8
9
10
UITabBarController *tabbarVC = [[ UITabBarController alloc ] init ];
FirstViewController *FVC = [[FirstViewController ] init ];
FVC.tabBarItem.title = @"控制器1" ;
FVC.tabBarItem.image = [ UIImage imageNamed : @"first.png" ];
SecondViewController *SVC = [[SecondViewController ] init ];
SVC.tabBarItem.title = @"控制器2" ;
SVC. tabBarItem.image = [UIImage imageNamed : @"new.png" ];
// 添加子控制器(这些子控制器会自动添加到UITabBarController的 viewControllers 数组中)
[tabbarVC addChildViewController :FVC];
[tabbarVC addChildViewController :SVC];

优点:代码量较少
缺点:tabbar的ios原生样式不太好看,(不常用,目前不建议使用),如果要使用,建议自定义tabbar

方式三:导航控制器UINavigationController

在FVC的button的监听方法中调用:

1
[self.navigationController pushViewController:newC animated:YES]; //跳转到下一页面

在SVC的方法中调用:

1
[self.navigationController popViewControllerAnimated:YES]; //返回上一页面

当有多次跳转发生并希望返回根控制器时,调用:

1
[ self .navigationController popToRootViewControllerAnimated: YES ];  //返回根控制器,即最开始的页面

方式四:利用 Modal 形式展示控制器

在FVC中调用:

1
[ self presentViewController:SVC animated: YES completion:nil];

在SVC中调用:

1
[ self dismissViewControllerAnimated: YES completion: nil ];

方式五:直接更改 UIWindow 的 rootViewController

方式六:填加移除子视图

[self.view addSubview:otherview];

[self.view removeFromSuperview]

转载于:https://www.cnblogs.com/J-yq/p/5303113.html

iOS页面间跳转的方式相关推荐

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

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

  2. ios页面间跳转方式总结

    转自:http://www.cnblogs.com/anywherego/p/3542202.html 下面以OldViewController(oldC)的按钮btn点击后跳转到NewViewCon ...

  3. ios页面间传递参数四种方式

    ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Dele ...

  4. vue 传参 微信_小猿圈web前端之微信小程序页面间跳转传参方式总结

    原标题:小猿圈web前端之微信小程序页面间跳转传参方式总结 最近小程序发展的越来越快,很多大公司也在打造自己的小程序平台以及购物小程序等等,今天小猿圈web前端讲师就总结了关于微信小程序的知识点,首先 ...

  5. 鸿蒙技术论坛,鸿蒙应用开发入门(六):页面间跳转

    目录: 6.1 页面间跳转 1. 认识Intent Intent是对象之间传递信息的载体. 例如,当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个A ...

  6. html 不间断背音乐代码,请参考不用框架结构做出 “页面间跳转而不间断的背景音乐”每次进去还是随机播放...

    同事问的如果不用Frame怎么让背景音乐不间断播放呢 于是撒网在百度里搜··· 搜到了这个··真是高手呀·· var Media = new ActiveXObject("MediaPlay ...

  7. 鸿蒙OS应用开发之——页面间跳转

    一 概述 本文将创建两个页面,实现页面间跳转 第一个页面MainAbility,第二个页面SecondAbility 每个页面都有一个Text(显示页面内容)和Button(跳转按钮) 在MainAb ...

  8. iOS应用间跳转:从Open in my app聊到Deeplink

    就我个人所知,iOS中存在3种方式可以打开(唤醒)其它手机App(除开系统级应用),分别是: 第三方登录.分享.支付.导航等 Open in my app Deeplink 三种方式原理一样,均是注册 ...

  9. 小程序页面之间跳转的方式

    先导 我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面.微信小程序页面跳转有四种方式: wx.navigateTo(OBJECT) wx.redirectTo ...

最新文章

  1. PyTorch代码调试利器_TorchSnooper
  2. FFmpeg 与媒体文件关系
  3. java 内部类 抽象类_Java 内部类、匿名内部类、抽象类
  4. 4.1 - 并发编程 - 进程练习题
  5. 腾讯面试:前 K 个高频元素
  6. androidexternal目录下新增一个可执行应用及编译
  7. python 逐行调试工具_在线编译或编辑Python的5个最佳工具
  8. linux cp和rm命令
  9. VTK:可视化算法之FindCellIntersections
  10. Java网络编程 — Netty入门
  11. 一道面试题及其扩展,求好解法
  12. centos yum 安装mysql
  13. 提前11秒,AI让神经科学家预知了你的决定
  14. ubuntu14安卓phalcon
  15. html5在线播放flac,分享5个无损音乐网站
  16. 【计算机图形学】【实验报告】太阳系绘制、B样条曲线绘制(附代码)
  17. LAYA和TypeScript制作H5入门——页面制作
  18. 直播有什么新的互动玩法?
  19. Python+Selenium+Appium环境搭建
  20. linux嵌入式开发位置,RedHat 系列 Linux 安装后,建立嵌入式开发环境

热门文章

  1. 初探C语言指针之何为指针变量
  2. AD域控exchange邮箱(四)——获取AD域控中计算机有哪些账号登录过
  3. 做报表5年,被批Excel毫无新意,能开发的可视化报表让我重获新生
  4. 4款最具影响力的自助式BI工具
  5. 深入了解帆软报表系统的启动过程三
  6. Box2D——入门教程
  7. 服务器电源输出电压稳定,服务器电源选购指南
  8. 个性化新闻文章推荐的上下文Bandit方法
  9. centos7,pyinstaller打包出application/x-sharedlib,这是一个求助的帖子
  10. P1020 导弹拦截