美文网首页
iOS 各种界面传值

iOS 各种界面传值

作者: Hello_World2017 | 来源:发表于2016-11-01 17:41 被阅读0次

    1.block 传值

    #import "ViewController.h"

    #import "SendViewController.h"

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {    [super viewDidLoad];     

       self.view.backgroundColor = [UIColor whiteColor];   

     UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];    temporaryBarButtonItem.title =@"返回";    

    self.navigationItem.backBarButtonItem = temporaryBarButtonItem;}

    - (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{

    SendViewController*send = [[SendViewController alloc]init];

    send.myblock = ^(NSString*str){

    self.navigationItem.title = str;

    };

    [self.navigationController pushViewController:send animated:YES];

    }

    typedef void(^Myblock) (NSString*);

    @interface SendViewController : UIViewController

    @property(nonatomic,copy)Myblock myblock;

    @interface SendViewController : UIViewController

    @property(nonatomic,copy)Myblock my block;

    2.block 对象方法传值

    @interface ViewController ()

    @property(nonatomic,copy)UILabel*lable;

    @end@implementation ViewController

    - (void)viewDidLoad {    [super viewDidLoad];    

        [self.view addSubview:({            _lable = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2-100, self.view.frame.size.height/2-50, 200, 100)];                _lable.backgroundColor = [UIColor lightGrayColor];                _lable.font = [UIFont systemFontOfSize:13.0];                _lable.text = @"你好";                _lable;        })];        }-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{

    SendViewController*sendVc = [[SendViewController alloc]init];

    //^(NSString *str) {_lable.text = str;}把此处代码放到SendViewController中保存

    [sendVc SendViewContollerBlock:^(NSString *str) {

    _lable.text = str;

    }];

    //    sendVc.myblockColor = ^(NSString*str){

    //

    //        _lable.text = str;

    //    };

    [self presentViewController:sendVc animated:YES completion:^{

    sendVc.textField.text = _lable.text;

    }];

    }

    #import typedef void(^MyblockColor)(NSString*);

    @interface SendViewController : UIViewController

    @property(nonatomic,copy)MyblockColor myblockColor;

    @property(nonatomic,strong)UITextField*textField;

    -(void)SendViewContollerBlock:(MyblockColor)myblockColor;

    @interface SendViewController ()

    @end

    @implementation SendViewController

    - (void)viewDidLoad {        [super viewDidLoad];       

     self.view.backgroundColor = [UIColor whiteColor];      

      [self.view addSubview:({            _textField = [[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2-100, self.view.frame.size.height/2-50, 200, 100)];       

     _textField.delegate = self;             

       _textField.backgroundColor = [UIColor lightGrayColor];               

     _textField.placeholder = @"请输入";                _textField;                })];    }

    -(void)SendViewContollerBlock:(MyblockColor)myblockColor{    self.myblockColor = myblockColor;    }

    - (void)viewWillDisappear:(BOOL)animated{        [super viewWillDisappear:animated];    }- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{

    //模泰推出

    //alloc  init  loadview viewDidload viewwillApp viewdidapp viewwiilldisapp

    [self dismissViewControllerAnimated:YES completion:^{

    if (_myblockColor) {

    _myblockColor(_textField.text);

    }

    }];

    #import "ViewController.h"

    #import "SendViewController.h"

    @interface ViewController ()

    @property (weak, nonatomic) IBOutlet UIButton *button;

    - (IBAction)blockButton:(id)sender;

    @end

    @implementation ViewController

    - (void)viewDidLoad {

    [super viewDidLoad];

    if (_button.tag != 101) {

    _button.backgroundColor = [UIColor purpleColor];

    }

    }

    - (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    }

    - (IBAction)blockButton:(id)sender {

    CGRect temp = CGRectMake(_button.frame.origin.x, _button.frame.origin.y, _button.frame.size.width+50,_button.frame.size.height+20);

    [SendViewController ChangeRootViewBtnRect:temp blockcompletion:^(UIColor *ClolorEnume) {

    _button.tag = 101;

    _button.backgroundColor = ClolorEnume;

    }];

    }

    #importtypedef void(^ChangeColor)(UIColor*ClolorEnume);

    @interface SendViewController : NSObject

    @property(nonatomic,copy)ChangeColor changeColor;

    +(void)ChangeRootViewBtnRect:(CGRect)rect blockcompletion:(ChangeColor)changeblockColor;

    @end

    #import "SendViewController.h"

    @interface SendViewController ()

    @end

    @implementation SendViewController

    + (void)ChangeRootViewBtnRect:(CGRect)rect blockcompletion:(ChangeColor)changeblockColor{

    UIColor*temp = [UIColor redColor];

    changeblockColor(temp);

    }

    相关文章

      网友评论

          本文标题:iOS 各种界面传值

          本文链接:https://www.haomeiwen.com/subject/vmimuttx.html