• UI基础 属性代理传值


    rootview.h

    #import <UIKit/UIKit.h>
    
    NS_ASSUME_NONNULL_BEGIN
    
    @interface RootViewController : UIViewController
    
    @end

    rootview.m

    #import "RootViewController.h"
    #import "SecondViewController.h"
    @interface RootViewController ()<ChuanZhiDelegate>
    {
        UITextField *tf;
        
    }
    @end
    
    @implementation RootViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    //    UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    //
    //    view.backgroundColor=[UIColor redColor];
    //    [self.view addSubview:view];
    //
    
        //把控制导航栏内容代码写到对应的页面上来
        self.navigationItem.title=@"首页";
        
    //    self.navigationItem.titleView=
        //左右侧的按钮 文字
    //    self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:@"右侧" style:UIBarButtonItemStylePlain target:self action:@selector(touchRight)];
    // 图片
        self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"Processsettings"] style:UIBarButtonItemStylePlain target:self action:@selector(touchRight)];
        
    // 第一个页面中的输入框 页面填充框
        tf =[[UITextField alloc]initWithFrame:CGRectMake(20, 200, 280, 40)];
        tf.backgroundColor=[UIColor greenColor];
        [self.view addSubview:tf];
        
        
    
        
    }
    
    
    -(void)Chaunzhi:(NSString *)str
    {
        
        NSLog(@"验证有没有传值成功%@",str);
        
    }
    
    -(void)touchRight
    {
        NSLog(@"右侧");
        
        SecondViewController *second =[[SecondViewController alloc]init];
        
        //传值
        second.inpurStr=tf.text;
        
        second.delegate=self;
        
        
        
        //跳转
        [self.navigationController pushViewController:second animated:YES];
        
        
    }
    @end

    secondview.h

    #import <UIKit/UIKit.h>
    
    
    //1.协议的名称 声明协议
    @protocol ChuanZhiDelegate <NSObject>
    
    -(void)Chaunzhi:(NSString *)str;
    
    @end
    
    NS_ASSUME_NONNULL_BEGIN
    
    @interface SecondViewController : UIViewController
    
    //声明一个属性用来接收传递过来的值
    @property(nonatomic,strong)NSString *inpurStr;
    
    //第二步 声明属性 (代理人)
    @property(nonatomic,assign)id<ChuanZhiDelegate>delegate;
    
    
    @end

    secondview.m

    #import "SecondViewController.h"
    
    @interface SecondViewController ()
    
    @end
    
    @implementation SecondViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.view.backgroundColor =[UIColor greenColor];
        
    //    第二个页面左上角返回按钮
        self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"fanhui"] style:UIBarButtonItemStylePlain target:self action:@selector(goBack)];
        
        //第二个页面中的label
        UILabel* label=[[UILabel alloc]initWithFrame:CGRectMake(20, 200, 280, 40)];
        label.backgroundColor=[UIColor greenColor];
        
        label.text=self.inpurStr;
        
        [self.view addSubview:label];
    }
    
    -(void)goBack
    {
        //返回的时候触发方法 将值传递回去
        [self.delegate Chaunzhi:@"这个是要返回的值"];
        
    //    从哪里回到上一个
        [self.navigationController popToRootViewControllerAnimated:YES];
        
    }
    
    @end
  • 相关阅读:
    函数的运用
    CSS颜色透明渐变
    白手起家:推广网站二十四招
    关于真正免费下载铃声
    改变生活的方法
    Hang in there,just for you
    写的浪漫
    计算机常用词汇IT开发
    马云在《赢在中国》对创业者的经典点评
    怎样才能把自己的网站做好(引用经济学理论知识)[转]
  • 原文地址:https://www.cnblogs.com/zhangqing979797/p/13460300.html
Copyright © 2020-2023  润新知