用button 属性来保存字符串地址

我用到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;

 

  //跳转操作就行了

  } 

posted @ 2019-07-18 09:25  whx060900  阅读(193)  评论(0编辑  收藏  举报