【UIKit】控制器之间的切换1 【Modal】

【Modal】【?Code

1.首先有2个控制器,并且都拥有视图界面。

?

2.点击登录后,第二个页面会从下方上移,那就得在第一个界面中首先创建另外一个界面。然后转向

首先得加载一个协议,这个就是第二个页面的代理。

<LoginViewControllerDelegate>

2).点击登录进行转向


- (IBAction)Login {
// 初始化控制器
LoginViewController *login=[[LoginViewController alloc]init];
login.delegate=self;
// 弹出登录界面
[self presentViewController:login animated:YES completion:^{
NSLog(@"调用");
}];
}

3. 这里先使用一个代理对象方法,用来将数据从下个控制器获取

#pragma mark LoginViewControllerDelegate 代理方法
-(void)loginSuccess:(NSString *)usernameText
{
self.usernamelabel.text=usernameText;
}

在LoginViewController 中的.h文件中声明一个代理对象

#pragma mark LoginViewControllerDelegate 代理方法
-(void)loginSuccess:(NSString *)usernameText
{
self.usernamelabel.text=usernameText;
}

在上面个控制器创建的username在这里需要声明,让上个控制器能使用

@protocol LoginViewControllerDelegate <NSObject>

-(void)loginSuccess:(NSString *)usernameText;

返回上一个控制器

#pragma mark 返回
- (IBAction)back:(id)sender {
// 关闭当前的模态控制器(登陆界面本身)
[self dismissViewControllerAnimated:YES completion:nil];
}

这里主要是关闭当前控制器,然后将text传入上个控制器。


#pragma mark 登录
- (IBAction)login {
// 取出用户名,并传回上一个控制器
NSString *text = self.username.text;

[self.delegate loginSuccess:text];

// 关闭当前控制器
[self dismissViewControllerAnimated:YES completion:nil];

}


【modal2】:使用Storyboard【?Code

1.添加一个控制器FirstViewController

2.在storyboard中添加一个viewController并且设置控制器为FirstViewController

3. 将button按钮右键链接到新的View

4.选择modal效果

5.此时就会多出中间的连线

6.FirstViewController 中添加按钮单击事件返回

- (IBAction)back {

[self dismissViewControllerAnimated:YES completion:nil];
}

【UIKit】控制器之间的切换1 【Modal】,布布扣,bubuko.com

时间: 2024-10-13 18:29:34

【UIKit】控制器之间的切换1 【Modal】的相关文章

【UIKit】控制器之间的切换2 【Push】

[控制器切换Push][?Code] 1.创建3个xib和控制器 2.在AppDelegate中设置首先启动的页面 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds] ]; self.

IOS-多视图控制器之间的切换

1. 创建个单视图应用程序 2. 在向Main.storyboard中拖一个ViewController控制器 3. 在第一个viewController中添加一个按钮 4. 按着control键,推动到第二个视图上,选择Model 5.运行应用程序,点击按钮,则第二个视图控制器就会出来了 6. 在第二个视图控制器中添加一个按钮,用于回到第一个视图控制器 7. 首先为第二个视图控制器添加GameViewController类,用于控制第二个视图控制器 8. 打开辅助编辑器,拖动用于回到主页的按钮

【iOS开发-79】利用Modal方式实现控制器之间的跳转

利用Modal方法.事实上就是以下两个方法的运用. Modal方式的切换效果是从底部呈现. -(void)clickModal{ WPViewController *wp=[[WPViewController alloc]init]; [self presentViewController:wp animated:YES completion:^{ }]; } -(void)clickDismiss{ [self dismissViewControllerAnimated:YES complet

IOS-Storyboard控制器切换之Modal(1)

Modal模式是指模态切换,新开的界面会挡住之前的界面,使之不能获取焦点. 创建一个singleView模板的程序,打开storyboard文件,拖动2个UIViewController到界面中,按住control,从按钮处直接拖动到第2个vc如图: 然后放开,选择modal模式:  意思就是只要点击按钮 就能从下到上弹出第2个界面 对于每个uiviewController,都可以设置其所对应的文件, 其头部显示的文字可在右边面板中设置: IOS-Storyboard控制器切换之Modal(1)

ios7中 丰富多彩的UIViewController之间的切换

转载自:http://onevcat.com/2013/10/vc-transition-in-ios7/ 毫无疑问,ViewController(在本文中简写为VC)是使用MVC构建Cocoa或者CocoaTouch程序时最重要的一个类,我们的日常工作中一般来说最花费时间和精力的也是在为VC部分编写代码.苹果产品是注重用户体验的,而对细节进行琢磨也是苹果对于开发者一直以来的要求和希望.在用户体验中,VC之间的关系,比如不同VC之间迁移和转换动画效果一直是一个值得不断推敲的重点.在iOS7中,苹

多控制器之间的跳转

1>  什么是多控制器之间的跳转? 在一个 APP 中,会存在多个控制器,多个控制器的存在就会存在控制器的跳转问题. 2>  包含:连线跳转,modal 方式以及navigationController/tabBarontroller方式 连线跳转:根据绑定的 ID 进行控制器的跳转 连线跳转的分类: > 自动型:点击控件后,自动跳转到下一个控制器(action – push 方式) > 手动型:需要借助于代码手动完成. 手动型,是指从来源控制器拖到目标控制器.(manual –

Salesforce视图与控制器之间的交互

刚接触Salesforce,过程的确是比较艰难了,中文资料几乎没有,看英文资料学的效率却不高,不过看了一段时间的英文资料发现自己英语水平挺高不少啊,现在看都不用工具翻译,早知道就再次尝试报个6级,看下能过不,嘻嘻....Salesforce的开发也是MVC模式,asp.net的MVC就玩的比较多了,换个平台一下子没适应过来,不过原理都一样,接下来就介绍一下最近的学习成果吧,来看一下SF中MVC模式下视图与控制器之间的交互,先贴控制器和视图的代码,下面有详细讲解. apex视图代码如下: <ape

iOS:使用block进行类与类,控制器与控制器之间的传值

介绍:在iOS中类与类,控制器与控制器之间传值的方式有多种,分别是:单例传值.代理传值.通知传值.block传值或者一些偏好设置也可以用来传值.... 每一种传值方式都有各自的优点和缺点,针对不同情况选择符合需要的方式进行传值.这里我比较喜欢block方式传值,个人觉得简单好用,省却了不少代码. 下面简单给一个在控制器之间FirstViewController和SecondViewController使用block传值的例子: 在SecondViewController中: SecondView

MVC 控制器之间传值学习——session

刚接触MVC不久,写的一些代码自己都不忍心看下去.路漫漫其修远兮,宝宝还需努力!之前只用过Session做登录时用户信息的储存,今天对集合类数据做了小小的尝试:利用session在控制器之间传值,以减少代重复率. 1.将数据储存到Session中(不受类型限制): 2.从session中读取数据(注意转换为正确的的数据类型): 3.随你怎么操作. using System.Collections.Generic; using System.Linq; using System.Web.Mvc;