【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];
}

 

转载于:https://www.cnblogs.com/madeininfi/p/3695437.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值