我用到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;
//跳转操作就行了