iOS页面间跳转的方式
方式一: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页面间跳转的方式相关推荐
- iOS 页面间几种传值方式(属性,代理,block,单例,通知)
第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视 ...
- ios页面间跳转方式总结
转自:http://www.cnblogs.com/anywherego/p/3542202.html 下面以OldViewController(oldC)的按钮btn点击后跳转到NewViewCon ...
- ios页面间传递参数四种方式
ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Dele ...
- vue 传参 微信_小猿圈web前端之微信小程序页面间跳转传参方式总结
原标题:小猿圈web前端之微信小程序页面间跳转传参方式总结 最近小程序发展的越来越快,很多大公司也在打造自己的小程序平台以及购物小程序等等,今天小猿圈web前端讲师就总结了关于微信小程序的知识点,首先 ...
- 鸿蒙技术论坛,鸿蒙应用开发入门(六):页面间跳转
目录: 6.1 页面间跳转 1. 认识Intent Intent是对象之间传递信息的载体. 例如,当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个A ...
- html 不间断背音乐代码,请参考不用框架结构做出 “页面间跳转而不间断的背景音乐”每次进去还是随机播放...
同事问的如果不用Frame怎么让背景音乐不间断播放呢 于是撒网在百度里搜··· 搜到了这个··真是高手呀·· var Media = new ActiveXObject("MediaPlay ...
- 鸿蒙OS应用开发之——页面间跳转
一 概述 本文将创建两个页面,实现页面间跳转 第一个页面MainAbility,第二个页面SecondAbility 每个页面都有一个Text(显示页面内容)和Button(跳转按钮) 在MainAb ...
- iOS应用间跳转:从Open in my app聊到Deeplink
就我个人所知,iOS中存在3种方式可以打开(唤醒)其它手机App(除开系统级应用),分别是: 第三方登录.分享.支付.导航等 Open in my app Deeplink 三种方式原理一样,均是注册 ...
- 小程序页面之间跳转的方式
先导 我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面.微信小程序页面跳转有四种方式: wx.navigateTo(OBJECT) wx.redirectTo ...
最新文章
- PyTorch代码调试利器_TorchSnooper
- FFmpeg 与媒体文件关系
- java 内部类 抽象类_Java 内部类、匿名内部类、抽象类
- 4.1 - 并发编程 - 进程练习题
- 腾讯面试:前 K 个高频元素
- androidexternal目录下新增一个可执行应用及编译
- python 逐行调试工具_在线编译或编辑Python的5个最佳工具
- linux cp和rm命令
- VTK:可视化算法之FindCellIntersections
- Java网络编程 — Netty入门
- 一道面试题及其扩展,求好解法
- centos yum 安装mysql
- 提前11秒,AI让神经科学家预知了你的决定
- ubuntu14安卓phalcon
- html5在线播放flac,分享5个无损音乐网站
- 【计算机图形学】【实验报告】太阳系绘制、B样条曲线绘制(附代码)
- LAYA和TypeScript制作H5入门——页面制作
- 直播有什么新的互动玩法?
- Python+Selenium+Appium环境搭建
- linux嵌入式开发位置,RedHat 系列 Linux 安装后,建立嵌入式开发环境