学习笔记-两界面之间传值(代理)

2016-04-26  本文已影响48人  听雨花春风
在两个界面之间传值(代理)

1.正向传值

2.反向传值

委托方.h文件

#import <UIKit/UIKit.h>

@protocol relect <NSObject>

-(void)lastToFirst:(NSString *)text;

@end

@interface OtherController : UIViewController

@property(nonatomic,strong)UITextField *tf;

@property(nonatomic,assign)id<relect>delegate;


@end

委托方.m文件

#import "OtherController.h"

@interface OtherController ()

@end

@implementation OtherController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor greenColor];
    
    _tf = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 50)];
    
    _tf.backgroundColor =[UIColor whiteColor];
    
    UIButton *button =[[UIButton alloc] initWithFrame:CGRectMake(150, 150, 100, 50)];
    
    [button setTitle:@"即将隐藏" forState:UIControlStateNormal];
    
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    
    [button addTarget:self action:@selector(clikButton:) forControlEvents:UIControlEventTouchUpInside];
    
    [self.view addSubview:button];
    
    [self.view addSubview:_tf];
    
}

-(void)clikButton:(UIButton *)button{
    
    NSString *sss = _tf.text;
    
    [self.delegate lastToFirst:sss];
    
    [self dismissViewControllerAnimated:YES completion:nil];
    
}
@end

代理方.h文件

#import <UIKit/UIKit.h>

@interface CodeController : UIViewController

@property(nonatomic,strong)UITextField *tff;

@end

代理方.m文件

#import "CodeController.h"
#import "OtherController.h"
@interface CodeController ()<relect>

@end

@implementation CodeController

- (void)viewDidLoad {
    
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor cyanColor];
    
    _tff = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 50)];
    
    _tff.backgroundColor =[UIColor whiteColor];
    
    UIButton *button =[[UIButton alloc] initWithFrame:CGRectMake(150, 150, 100, 50)];
    
    [button setTitle:@"即将弹出" forState:UIControlStateNormal];
    
    [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    
    [button addTarget:self action:@selector(clikButton:) forControlEvents:UIControlEventTouchUpInside];
    
    [self.view addSubview:button];
    
    [self.view addSubview:_tff];
    
}

-(void)clikButton:(UIButton *)button{
    
    OtherController *othercontroller = [[OtherController alloc] init];
    
    othercontroller.delegate = self;
    
    othercontroller.view.backgroundColor = [UIColor grayColor];
    
    othercontroller.tf.text = _tff.text;
    
    [self presentViewController:othercontroller animated:YES completion:^{
        NSLog(@"弹出完毕");
    }];

}

- (void)lastToFirst:(NSString *)text{
    
    _tff.text = text ;
    
}


@end
上一篇 下一篇

猜你喜欢

热点阅读