我用到for循环创建button  通过点击不同的按钮拿到每个button对应的链接地址,因为button的个数也是通过后台数据返回。上代码:

//保存到数组

_array = [Article mj_objectArrayWithKeyValuesArray:dic[@"data"]];

//显示隐藏

BOOL show = dic[@"show"];

NSLog(@"%@",_array);

for (Article *article in self.array) {

_article = article;

CGFloat with = article.width;

CGFloat height = article.height;

//for循环创建button

for (int i=0; i<_array.count; i++) {

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.tag = i;

[button setTitle:@"按钮" forState:UIControlStateNormal];

button.frame = CGRectMake(kSWidth-kSWidth*with, kSHeight - kSWidth*height*i-kSWidth*height-kTabBarHeight, kSWidth*with, kSWidth*height);

button.adjustsImageWhenHighlighted = NO;

[button sd_setImageWithURL:[NSURL URLWithString:[_array[i]imgUrl]] forState:UIControlStateNormal];

[button setBackgroundColor:[UIColor clearColor]];

[button addTarget:self action:@selector(resignButton:) forControlEvents:UIControlEventTouchUpInside];

[button setTitle:[_array[i]title] forState:UIControlStateNormal];

//用restorationIdentifier来记录每个button的url

button.restorationIdentifier = (NSString *)[_array[i] url];

//                  [button setRestorationIdentifier:[self.array[i]url]];

if (show==YES) {

button.hidden = NO;

}else{

button.hidden = YES;

}

[self.view addSubview:button];

}

}

//点击事件

- (void)resignButton:(UIButton *)sender{

//    sender.highlighted = NO;

NSLog(@"%ld",sender.tag);

//字符串替换  赋值

NSString *informString = sender.restorationIdentifier;

  //跳转操作就行了

}

用button 属性来保存字符串地址的更多相关文章

  1. 科学计算三维可视化---Traits(Event和button属性)

    Event和button属性 是两个专门用于处理事件的change属性 Event属性和其他Trait属性不一样 Button属性是由Event属性继承而来的 Event监听 from traits. ...

  2. java保存json格式数据,保存字符串和读取字符串

    1.java保存json格式数据,保存字符串和读取字符串 import java.io.*; class RWJson { public void wiite(String s, String toS ...

  3. 我的Android进阶之旅------>android Button上面的英文字符串自动大写的问题解决

    今天碰到一个关于Button的问题:android Button上面的英文字符串会自动变成大写,运行的Android 5.1版本,如下图所示: 图1:Button 图2:TextView 这个Butt ...

  4. 我的Android进阶之旅------&gt;android Button上面的英文字符串自己主动大写的问题解决

    今天碰到一个关于Button的问题:android Button上面的英文字符串会自己主动变成大写,执行的Android 5.1版本号,例如以下图所看到的: 图1:Button 图2:TextView ...

  5. ext button 属性

    var buttonName = new Ext.Button({               id:"buttonName",               text:" ...

  6. C# 根据实体类的属性动态生成字符串

    情景: 目前有两个实体类:Student,ClassInfo. public class Student { public string Name { get; set; } public strin ...

  7. 保存字符串到手机SDcard为txt文件

    try { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File sdCardDir ...

  8. js操作对象属性值为字符串

    今天在项目开发中遇到一个没遇到过的问题,这个问题是需要对比两个对象a和b,a是一个只有一个属性的对象,b是一个含有多个属性对象,如果b中包含和a一模一样的属性名和值,则把这个一样的属性和值从b中删除了 ...

  9. Android—修改button属性

    一般安卓里的普通按钮控件灰灰的,比较单调,我们可以给按钮加上背景图片,或者自定义按钮的圆角,颜色等属性. 下面用代码举例: <Button android:id="@+id/reset ...

随机推荐

  1. 浅谈 JavaScript 垃圾回收机制

    github 获取更多资源 https://github.com/ChenMingK/WebKnowledges-Notes 在线阅读:https://www.kancloud.cn/chenmk/w ...

  2. 洛谷 P1903 [国家集训队]数颜色

    题意简述 给定一个数列,支持两个操作 1.询问l~r有多少不同数字 2.修改某个数字 题解思路 带修莫队 如果修改多了,撤销修改 如果修改少了,进行修改 代码 #include <cmath&g ...

  3. 【KakaJSON手册】03_JSON转Model_03_key处理

    有时候,服务器返回的JSON数据的key跟客户端模型的属性名可能不一致,比如客户端遵守驼峰规范叫做nickName,而服务器端返回的JSON可能叫做nick_name.这时候为了保证数据转换成功,就需 ...

  4. 7.4 元组tuple类型内置方法

    元组tuple 元组相当于不可变的列表,在定义完成后后面就不可以进行更改,因此元组只可取不可存 因为不可变,所以相对列表来说,他的功能也少了很多,所以,不难理解,他有个优点就是占用内存小. 作用:能够 ...

  5. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十四)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  6. Mybatis-Spring扫描路径有重叠导致Invalid bound statement(not found)问题

    背景 近日,某个系统的测试环境mybatis总是报Invalid bound statement(not found)异常,导致tomcat容器无法启动.异常信息如下: org.apache.ibat ...

  7. 第一章 .NET基础-1.1.学前入门

    一.1.1. 概念:.NET和C# l .NET/DOTNET:一般指.Net Framework框架.一种平台,一种技术.它提供了一个稳定的运行环境:来保障我们.Net平台正常的运转. l C#(C ...

  8. 使用注解的Hibernate one-to-many映射

    One to many映射关系指的是两个实体间一个实体可以和多个实体有关联关系,但是多的这一端只能和一的这一端的一个实例有关系.它是一个1 到 n的关系.例如在任何的公司员工可以注册多个银行账户,一个 ...

  9. Python学习 之 Python入门

    第二章 Python入门 2.1 环境安装 2.1.1 下载解释器: py2.7.16 (2020年官方不再维护) py3.6.8 (推荐安装) 1.下载解释器一定去官网下载,https://www. ...

  10. JNI开发流程

    交叉编译 在一个平台上去编译另一个平台上可以执行的本地代码 cpu平台 arm x86 mips 操作系统平台 windows linux mac os 原理 模拟不同平台的特性去编译代码 jni开发 ...