不同视图间的跳转方式

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

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];//弹出后返回到原视图

不同视图间的跳转方式

时间: 2024-10-03 22:53:22

不同视图间的跳转方式的相关文章

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

第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五种传值方式: (一)属性传值 第二个界面中的lable显示第一个界面textField中的文本 首先我们建立一个RootVie

jsp中几种跳转方式和参数共享

整理了一下jsp入门中的跳转和数据共享问题,写成这篇博文希望对大家有帮助,参考文章列在后面: 常用的跳转方式有以下几种: (1)href超链接标记,属于客户端跳转 (2)使用javascript完成,属于客户端跳转 (3)提交表单完成跳转,属于客户端跳转 (4)使用response对象,属于客户端跳转 (5)使用requestDispatcher类,属于服务器跳转 下面一一来看 (1)href超链接标记 这个比较简单,通常写到a标签里即可,来完成指定位置的动态跳转比较方便 代码:<a href=

iOS应用程序开发之应用间的跳转

简介 配置和实现 判断应用启动方式 一.简介 最实际项目开发中,我们难免会遇到需要从一个应用跳转到另一个应用的情况.比如微信分享,实际就是一种应用间的跳转.但是有时候我们需要实现自己的两个应用间的跳转,以便可以推广我们其他的应用.这个时候我们需要使用UIApplication的openURL:的方法 二.配置 1??注册自定义的URL 首先被启动的应用需要向iPhone注册一个自定义URL协议.这是在你的项目文件夹的info.plist文件进行的 1. 右键,选择“Add Row”, Key值选

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

iOS 页面间几种传值方式(属性,代理,block,单例,通知) 姜糖水 2015-05-03 52 阅读 iOS 移动开发 第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五

Spring mvc controller间的跳转

1. 需求背景 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 本来以为挺简单的一件事情,并且个人认为比较常用的一种方式,一百度全都有了,这些根本不是问题,但是一百度居然出乎我的意料,一堆都不是我想要的结果.无奈啊,自己写一篇比较全都供以后大家一百度吧,哈哈哈...是这些写的不是很全都人们给了我写这篇博客的动力. 2. 解决办法 需求有了肯定是解决办法了,一一解决,说明下spring的跳

Struts2的动态方法,及result跳转方式,全局结果以及默认的action的配置

Action动态方法的调用 首先我们需要在struts.xml中去配置一个常量值如下 那么去哪找呢?找到Struts-core.jar并打开 method属性 <action name="login" class="cn.ssh.ch08.UserAction" method="lgoin"> <result name="success">/success.jsp</result> <

4.结果跳转方式

结果跳转方式 ModelAndView 设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 . 页面 : {视图解析器前缀} + viewName +{视图解析器后缀} <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver

应用间的跳转

应用间的跳转 标签(空格分隔): ios进阶 在手机app中经常需要在应用间跳转,比如微信分享,支付宝付款,第三方登陆等. 简单的例子 这些都是很常见的应用,要实现这样的功能需要在应用程序中设置 URL Schemes(目标应用程序) 然后在程序中写如下代码就可以跳转了 - (IBAction)weixing { NSURL *url = [NSURL URLWithString:@"weixin://"]; if ([[UIApplication sharedApplication]

ios delegate 代理模式 观察者模式 不同视图间的通信

delegate,在ios中比比皆是,NSURLConnection(网络请求有),tableView, connectionView,等系统自带 的常见代理.甚至,自己写代码的时候,随意间敲打出了protocol,根据需求,就出来了个delegate.其实也就是观察者模式的具体应用.基本的observer.一样的思想,就是创建一个抽象方法,到具体的视图控制器中才去实现.最常见的做法是:创建单例模式,然后,调用对象,设置代理对象,写具体的实现. NSNotification通知信号虽然也能达到同