我正在使用for循环创建一大组按钮,并希望在单击按钮时从一组发送数据
我的按钮处于for循环中,如此
标题正在for循环中处理,而Url是标题键
的字典-(void)addToScrollView {
UIColor *ezBlue = [UIColor colorWithRed:(17.0 / 255.0) green:(95.0 / 255.0) blue:(207.0 / 255.0) alpha: 1];
UIColor *ezGreen = [UIColor colorWithRed:(57.0 / 255.0) green:(145.0 / 255.0) blue:(2.0 / 255.0) alpha: 1];
yLoc = 0;
for(NSString *titleString in titlesArray) {
int bufferInt = 2;
buttonHeight = 0;
buttonTop = yLoc;
NSString *descString = [dFT objectForKey:titleString];
NSString *dispUrlString = [duFT objectForKey:titleString];
NSString *urlString = [uFT objectForKey:titleString];
...
...
UIButton *buttonToPage = [[UIButton alloc] initWithFrame:CGRectMake(20, buttonTop, 280, buttonHeight)];
[buttonToPage addTarget:self action:@selector(customBrowser:) forControlEvents:UIControlEventTouchUpInside];
[mainScrollView addSubview:buttonToPage];
}
height = yLoc;
[self scrollViewHeight];
}
和void方法将数据发送到
-(void)customBrowser:(NSString *)url {
//Do Stuff here
}
如何将诸如url之类的信息传递给void方法,以便对其进行处理。
答案 0 :(得分:2)
可能你有一个带有URL的数组,或者类似的东西,对吗?
这不是最好的方法,但你可以使用"标签"按钮中的属性,用于指示URL的索引。
-(void)customBrowser:(UIButton *)sender
{
NSString *stringURL = self.arrayURL[sender.tag];
//do your stuff here
}
但是,我建议您尝试使用TableViews或CollectionViews来解决您的问题。
答案 1 :(得分:0)
结束将按钮的标题设置为url并在方法中读取它。
设置......
UIButton *buttonToPage = [[UIButton alloc] initWithFrame:CGRectMake(20, buttonTop, 280, buttonHeight)];
[buttonToPage setTitle:urlString forState:UIControlStateNormal];
[buttonToPage addTarget:self action:@selector(customBrowser:) forControlEvents:UIControlEventTouchUpInside];
[mainScrollView addSubview:buttonToPage];
读它......
-(void)customBrowser:(UIButton *)sender {
//Do Stuff here
NSLog(@"The button title is %@",sender.titleLabel.text);
}