UI_页面传值问题

属性传值

    // 属性传值:最常用的一种传值方式
    /**
     *  操作过程
     *  1、在第二个控制器的.h文件里面书写属性
     *  2、就在第一个页面创建第二个页面控制器方法里面,进行赋值操作
     *  3、适用性(局限性):仅仅适用于从第一个页面传到第二个页面(从前往后传)
     */

*1、在第二个控制器的.h文件里面书写属性

//  设置属性用于传值
@property (nonatomic, copy)NSString *receiveStr;

*2、就在第一个页面创建第二个页面控制器方法里面,进行赋值操作

    // 赋值, 属性写在了第二个控制器里面
    // 在 SecondViewController.m 里面接收,因为切换的是控制器
    secondVC.receiveStr = self.rootView.firstText.text;
// 接收字符串
    self.rootView.label.text = self.receiveStr;

代理传值

    // 代理传值:
    /**
     *  操作过程
     *  1、在第二级控制器的.h文件,书写非正式协议(方法必须带参数)
     *  2、在第二级控制器的.h文件,写属性
     *  3、在第二级控制器的.m文件,利用代理属性,去调用协议里面的方法(同时把参数传出去)
     *
     *  4、在第一级控制器里面遵守协议
     *  5、在第一级控制器里面设置代理
     *  6、在第一级控制器里面实现代理方法
     */
 1、在第二级控制器的.h文件,书写非正式协议(方法必须带参数)
// 1.设置协议
@protocol SecondViewControllerDelegate <NSObject>

- (void)translateValueFromSecondToFirst:(NSString *)string;

@end
 2、在第二级控制器的.h文件,写属性
//  设置属性用于传值
@property (nonatomic, copy)NSString *receiveStr;
 3、在第二级控制器的.m文件,利用代理属性,去调用协议里面的方法(同时把参数传出去)
    // 3.自己创建返回按钮,下面实现方法
    UIBarButtonItem *left = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(leftDidClicked:)];
    self.navigationItem.leftBarButtonItem = left;
    [left release];
}

#pragma mark - 实现点击方法
- (void)leftDidClicked:(UIBarButtonItem *)sender
{
    if (self.delegate && [self.delegate respondsToSelector:@selector(translateValueFromSecondToFirst:)]) {
        // 代理去执行方法
        [self.delegate translateValueFromSecondToFirst:@"李莫愁"];
    }

    [self.navigationController popViewControllerAnimated:YES];
}
 4、在第一级控制器里面遵守协议
// 4.遵守协议
@interface RootViewController ()<SecondViewControllerDelegate>
 5、在第一级控制器里面设置代理
    // 5. 设置代理方法
    secondVC.delegate = self;
 6、在第一级控制器里面实现代理方法
// 6.实现代理方法
#pragma mark - 实现代理方法
- (void)translateValueFromSecondToFirst:(NSString *)string
{
    NSLog(@"%@",string);
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-01 14:52:26

UI_页面传值问题的相关文章

05-19Web端控件,页面传值

一.记忆Web端控件需要配合HTML 中的Form表单元素 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 Enlabled:是否可用 Visible:是否可见 2.Literal 空的,C#会把里面的Text内容直接作为网页代码传过去,比如Text里面写上<input type="button" />会直接在网页中插入一个按钮 属性: Text:内容 文本类 文本框      <input type="te

Web端控件,页面传值

一.记忆Web端控件需要配合HTML 中的Form表单元素 Label - 在HTML中被编译成<span> Literal - 在HTML中被编译成空 文本类 文本框      <input type="text">                        TextBox 密码框      <input type="password">                 TextBox 属性TextMode="pa

webform 页面传值的方法总结

ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer. 一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于

C#--父子页面传值、刷新(showModalDialog)

父页面: 1 var obj = new Object(); 2 obj.name="name"; 3 var rtnValue=window.showModalDialog("child.aspx",obj,"dialogWidth:500px;dialogHeight:300px;status:no;scrollbars=yes;help:no"); 4 if(rtnValue=="ok"){ 5 window.locat

webform(六)内置对象 跨页面传值

内置对象跨页面传值有六种:Request,Response,Session,Cookie,Application,VIewState. 一.Request和ResponseRequest request请求对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息.客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据.request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项.response 响应对象在

在alert里面加入一个页面,子页面传值父页面

把easyDialog v2.0这个插件加入到了项目中,在做选择部门功能时运用这个插件,在easyDialog.open里面的content函数中套了一个iframe标签,把部门页面的地址放入到src中 <iframe id="iframe" src="<%=basePath %>admin/login/deptno" frameborder="no" border="0" height="240&

前端跨页面传值

在很多时候需要用到跨页面传值,但是通过后台取值,这些值又不用放到后台去,所以没这必要而且增加http请求,这种情况下用前端跨页面传值就非常方便了 1.通过路径传值 用URL记录传值  <a href='Specific.aspx?idStr=val1&name=name1&sex=sex1</a> 在跳转页面后 通过下面方式取到路径,再把值分离出来var url = window.location.href; alert(url);因为url后面的?不会影响连接指向,所以

struts向jsp页面传值

struts向jsp页面传值有两种方式: 1.在Action中定义成员变量,jsp页面通过${成员变量名}或<s:property value="成员变量名">取值. 如:private String username; setter/getter方法 ${username}或<s:property value="username"> 2.如果成员变量较多,会使得Action代码冗余,因此考虑使用,HttpServletRequest.Htt

20151213学习内容:Web之页面传值

C/S: Client客户端程序 B/S: Brower浏览器程序 .net服务器软件:IIS Java:TomCat Php:阿帕奇 1.TextBox:用户输入文本框 属性:TextMode 单行文本框SingleLine 多行文本框MultiLine 密码框Password 2.显示文字:lable会生成Span标签 literall将文字原封不动的打到页面 3.按钮:Button普通按钮 ImageButton图片按钮 ,只能从根目录下照图片 LinkButton超链接按钮,属性Post